滑稽大戰(zhàn)代碼java 滑稽大戰(zhàn)下載

c#和java的區(qū)別是什么?

從語言語法與原理上來講,如出一轍,都是繼承自C的風格,初學者一看到代碼段就知道結(jié)構(gòu),但是未必認識關(guān)鍵字。

成都創(chuàng)新互聯(lián)公司主營南木林網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都App制作,南木林h5小程序開發(fā)搭建,南木林網(wǎng)站營銷推廣歡迎南木林等地區(qū)企業(yè)咨詢

因為從開發(fā)環(huán)境、框架上來講,天壤之別,微軟與SUN的開發(fā)環(huán)境不會融會貫通的,不敵對就不錯了。C#所寄宿的Visaul Studio比起JAVA的MyEclpipse要好用得多,在國內(nèi),很多企業(yè)為了推銷自己的產(chǎn)品過分鼓吹C#好或者Java好,其實都是主觀的。

對產(chǎn)品用戶來說,他們的好壞不在于使用C#開發(fā)還是JAVA開發(fā),而是開發(fā)的是否合理。JAVA所謂的跨平臺也是有條件的,要虛擬機。至于WEB項目,任何開發(fā)環(huán)境制作的WEB他都是跨平臺的,這只和瀏覽器有關(guān)系,其實SUN和Microsoft都是做了一樣的事情,JAVA用虛擬機,C#用Framework。

從開發(fā)難度來講C#并不是比Java簡單,而是比JAVA設計得好,你看下VS多么清晰好用,再去看下MyEclipse多凌亂,N多錯誤和翻墻下載鏈接。而且比較滑稽的是SUM鼓吹開源卻到處都要Lisence,VS被說成高收費卻網(wǎng)上大把下載終身免費。

從資源來講,java有個寶庫,實際上大部分公司還沉浸在java大潮里,像google、facebook比較牛的公司提供的技術(shù)支持偏向JAVA,使得java在網(wǎng)絡編程中地位顯著,C#反而像個毛頭小子,框架很少,特別是手機框架。比如Android Studio,就要求JAVA功底,與微軟背道而馳,微軟wphone也做的可以,可是市場差勁,這個就是兩者生存環(huán)境區(qū)別,C#比較生不逢時,處處得讓著老大。

C#其實比JAVA好用,但程序員真心便宜,我打個比方:

我建立一個OA,導航和菜單按照JAVA的一貫做法是用Jquery+CSS控制滑動,整個布局下來,這種代碼你廢寢忘食去思考計算寫出來至少要一天。高手見怪,反正我要,除非你到網(wǎng)上去下載個現(xiàn)成的一改動再使用,那就肯定快了,JAVA程序員伸手黨其實不少。C#來編寫就不一樣了,比Java的AddControl功能更靈活,比如我要動態(tài)出現(xiàn)一排按鈕

C# 和 Java的區(qū)別

Java和C#都是編程的語言,它們是兩個不同方向的兩種語言

相同點:

他們都是面向?qū)ο蟮恼Z言,也就是說,它們都能實現(xiàn)面向?qū)ο蟮乃枷?封裝,繼承,多態(tài))

區(qū)別:

1.c#中的命名空間是namespace類似于Java中的package(包),在Java中導入包用import而c#中用using。

2.c#和Java都是從main函數(shù)入口的,但是c#中的main函數(shù)的首字母必須大寫,它有四種寫法如下:

static void Main(string args[]){}

static int Main(string args[]){}

static void Main(){}

static void Main(){}

而Java中只有一種形式:static void main(String [] args){}

3.數(shù)據(jù)類型:Java跟c#基本都差不多,但是Java的String類型的首字母必須大寫,而c#中可以小寫也可以大寫,還有布爾型,Java中是boolean,c#中是bool。

4.變量的命名:Java中可以用$符號,而c#中不可以使用。

5.注釋:Java比c#少一種"http:///"的文檔注釋。

6.輸出:c#有三種方式輸出:Cosole.WriteLine(); Cosole.WriteLine(要輸出的值); Cosole.WriteLine("格式字符串",變量列表); 前兩種的用法與Java中的ystem.out.println()方法的用法相同,第三種方式是根據(jù)占位符輸出的,比Java更方便了。

7.控制流語句:c#跟Java類似,還有c#中的switch如果case后面有內(nèi)容必須要有break;Java可以沒有break;

8.數(shù)組:兩種語言的聲明都是用new關(guān)鍵字的。都可以在創(chuàng)建數(shù)組的同時初始化如:int a[]={1,2,3,5,5};但是c#比Java多兩種初始化如:int a[]=new int[3]{1,2,3}; int a[]=new int[]{1,2,3};

9.方法中傳遞的參數(shù):兩種語言都使用值傳遞與引用傳遞。

C#的引用傳遞的關(guān)鍵字是ref與out,ref側(cè)重于修改,out側(cè)重于輸出。而Java中都以傳值方式;

10.訪問修飾符:C#中的訪問修飾符與Java中的基本對應,但多出了一個internal。簡而言之,C#有5種類型的可訪問性,如下所示:

public:成員可以從任何代碼訪問。 protected:成員只能從派生類訪問。

internal:成員只能從同一程序集的內(nèi)部訪問。

protected:成員只能從同一程序集內(nèi)的派生類訪問。

private:成員只能在當前類的內(nèi)部訪問。

11.由于C#中不存在final關(guān)鍵詞,如果想要某個類不再被派生,你可以使用sealed關(guān)鍵詞密封。

12.集合:兩種語言都有集合ArrayList,還有通過鍵訪問值的Java中是HashMap而c#中是HashTable。c#比Java多泛型集合ListT與DictionaryK,V更容易了,無需拆箱裝箱了,更安全了。

13.繼承:Java中用關(guān)鍵字extends,c#只用":"就行了.調(diào)用父類的構(gòu)造方法Java用super關(guān)鍵字,而c#用base關(guān)鍵字。

14.多態(tài):抽象類和抽象方法兩種語言都用abstract關(guān)鍵字。Java中另外一個類如果繼承了它,實現(xiàn)直接重寫此方法就可以了;而c#必須加上關(guān)鍵字override實現(xiàn)。C#還比Java多一種虛方法來實現(xiàn)多態(tài)。

15.接口:都用關(guān)鍵字interface定義,Java實現(xiàn)用關(guān)鍵字implements;c#用":"實現(xiàn)。在C#中,接口內(nèi)的所有方法默認都是公用方法。在Java中,方法聲明可以帶有public修飾符(即使這并非必要),但在C#中,顯式為接口的方法指定public修飾符是非法的。

16.C#中的is操作符與Java中的instanceof操作符一樣,兩者都可以用來測試某個對象的實例是否屬于特定的類型。在Java中沒有與C#中的as操作符等價的操作符。as操作符與is操作符非常相似,但它更富有"進取心":如果類型正確的話,as操作符會嘗試把被測試的對象引用轉(zhuǎn)換成目標類型;否則,它把變量引用設置成null。

17.枚舉器即enum類型(java無),把它作為一個變量值的類型使用,從而把變量可能的取值范圍限制為枚舉器中出現(xiàn)的值。

18.結(jié)構(gòu)(Struct)與類很相似,而結(jié)構(gòu)是一種值類型,它存儲在棧中或者是嵌入式的,結(jié)構(gòu)可以實現(xiàn)接口,可以象類一樣擁有成員,但結(jié)構(gòu)不支持繼承。

19.c#保留了指針。Unsafe。(C#使用指針不安全,最后這條有待考證)

編程java 求代碼

有 4 個 java 文件,分別是 Shape.java,Square.java,Circle.java,ShapeTest.java。其內(nèi)容如下:

Shape.java

package graphics;

interface class Shape {

double getArea();

double getPerimeter();

}

Square.java:

package graphics;

public class Square implements Shape {

private double x;

private double y;

private double width;

private double height;

public Square(double x, double y, double width, double height) {

this.x = x;

this.y = y;

this.width = width;

this.height = height;

}

public Square(double x0, double y0, double x1, double y1) {

double xmin = x0 x1 ? x1 : x0;

double ymin = y0 y1 ? y1 : y0;

this.x = xmin;

this.y = ymin;

this.width = x0 + x1 - 2*xmin;

this.height = y0 + y1 - 2*ymin;

}

@Override

public double getArea() {

return this.width * this.height;

}

@Override

public double getPerimeter() {

return 2 * (this.width + this.height);

}

}

別人問為什么不選java的工作而是選擇實施怎么回答

滑稽的回答:敲代碼太苦逼,但是看別人苦逼敲代碼不會

正經(jīng)點:實施比較偏實地溝通及作為需求方跟程序員中間的橋梁,可以偏向發(fā)展自己的溝通能力,實地了解需求方的實際所求,讓自己可以多方位了解需求,以后也可以往產(chǎn)品經(jīng)理的方向進行努力和發(fā)展等

java類方法?

emm...問題...不少。

1、這個構(gòu)造函數(shù)問題就很大:

你傳遞一個r數(shù)組進來,然后你又讓this.v1=v1,this.v2=v2,那么這個r的意義到底是什么?你構(gòu)造出來的這個向量的v1和v2也還是根本沒有任何值。

2、這。。這塊問題太多了,我都不知道該怎么說,就全都不應該這么玩,下面加法也是一樣的我就不圈出來了。

首先,非常不建議用null來聲明任何變量,你聲明r[]數(shù)組為null,下面又在循環(huán)里使用r[i],r都不是一個東西(因為它是null,還真不是個東西 手動滑稽),r[i]必然導致萬惡的空指針異常NullPointerException。然后前面第一點說了,你的v1和v2根本就沒有值,其實他們也是null,所以v1.length也將產(chǎn)生空指針異常,你的for循環(huán)根本沒法進行。好,就算假設你的v1和v2都聲明為new double[0]了,他們不再是null了,那么你的這個方法最終有可能返回null,又來了又來了,不要隨便使用null,一不小心可能導致你main方法中調(diào)用這個方法后再次造成空指針異常。所以你非要這樣寫的話也建議寫成return new double[0];這樣即使它是一個空的數(shù)組但最起碼它已經(jīng)是個對象了,不再是null了。

3、main方法中null又雙叒來了:

null數(shù)組不能放任何東西進去,不然將導致空指針異常。

所以現(xiàn)在怎么辦?我估計你也發(fā)現(xiàn)了,因為你不知道這個數(shù)組究竟有多少個數(shù)字所以無法準確地定義這個r的長度。

本來我認為最優(yōu)的做法是利用java的幾種數(shù)據(jù)結(jié)構(gòu)來保存輸入項就好了,但是我怕你還沒學到,其中這幾個數(shù)據(jù)結(jié)構(gòu)都不需要指定長度就能保存數(shù)據(jù),他們能保存的最大數(shù)據(jù)量為int的最大值:java.util.List(java的集合,特別好用)、java.util.Vector(沒錯,java本來就有向量這種數(shù)據(jù)結(jié)構(gòu),比你這個MyVector功能要多一些)、java.util.Stack(棧其實是繼承了向量,是一種特殊的向量)、java.util.Queue(java的隊列),常用的就這些。

另外一種方法就是指定r[]數(shù)組有一個較大的length,也就是一開始就聲明的足夠大,比如直接double[] r = new double[999]但是這種是非常不好的辦法,一個是如果你最終只存儲兩三個數(shù)字,那么數(shù)組空間就浪費太多了,另外是如果超過了999個數(shù)字,又會導致數(shù)組溢出。

所有我下面采用了第三種直截了當?shù)姆椒◣湍愀倪M為,一開始你要輸入向量的長度,你要說明向量到底有多長,這樣不就能準確地定義r[]數(shù)組了嗎?look:

這樣就穩(wěn)得一批了。

4、再看你main方法的最后:

你這種設計方法根本沒有體現(xiàn)出兩個向量之間的運算關(guān)系啊,根本就是只有一個向量在這里。因此,你的運算函數(shù)應該修改為傳入一個新的向量,也就是這樣:

這樣的話,main函數(shù)里就可以這樣了:

看到?jīng)],是不是一眼就能看出是向量1和向量2相加、點積?

5、審題!審題!你的toString()方法吶?結(jié)果保留兩位小數(shù)吶?see:

另外題目里還說要定義一個int n的成員變量表示維度。我沒太明白這個維度是啥?這不就是一維向量嗎?維度不就是1嗎?

綜上所述,代碼被我整體修改為:

public class MyVector {

private double[] array;

private int n = 1;

public MyVector(double[] array) {

this.array = array;

}

public double[] getArray() {

return this.array;

}

public double[] MyVectorDott(MyVector myVector2) {

double[] array2 = myVector2.getArray();

double[] result = new double[this.array.length];

for (int i = 0; i this.array.length; i++) {

result[i] = this.array[i] * array2[i];

}

return result;

}

public double[] MyVectorAdd(MyVector myVector2) {

double[] array2 = myVector2.getArray();

double[] result = new double[this.array.length];

for (int i = 0; i this.array.length; i++) {

result[i] = this.array[i] + array2[i];

}

return result;

}

public String toString() {

String s = "(";

for (int i = 0; i this.array.length; i++) {

if (i this.array.length - 1) {

s += String.format("%.2f", this.array[i]) + ",";

} else {

s += String.format("%.2f", this.array[i]);

}

}

return s + ")";

}

public static void main(String[] args) {

System.out.print("請輸入向量長度:");

Scanner input = new Scanner(System.in);

int length = input.nextInt();

double[] array1 = new double[length];

double[] array2 = new double[length];

System.out.print("請輸入第一組向量值:");

input = new Scanner(System.in);

for (int i = 0; i length; i++) {

array1[i] = input.nextDouble();

}

System.out.print("請輸入第二組向量值:");

input = new Scanner(System.in);

for (int i = 0; i length; i++) {

array2[i] = input.nextDouble();

}

input.close();

MyVector myVector1 = new MyVector(array1);

System.out.println("向量1為:");

System.out.println(myVector1.toString());

System.out.println("向量2為:");

MyVector myVector2 = new MyVector(array2);

System.out.println(myVector2.toString());

MyVector myVector3 = new MyVector(myVector1.MyVectorAdd(myVector2));

System.out.println("向量1與向量2求和為:");

System.out.println(myVector3.toString());

System.out.println("向量1與向量2點積為:");

MyVector myVector4 = new MyVector(myVector1.MyVectorDott(myVector2));

System.out.println(myVector4.toString());

}

}

運行結(jié)果:

代碼老是會擠在一起,你自己整理一下

本文標題:滑稽大戰(zhàn)代碼java 滑稽大戰(zhàn)下載
鏈接分享:http://muchs.cn/article8/docciip.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、微信小程序、App開發(fā)營銷型網(wǎng)站建設、關(guān)鍵詞優(yōu)化、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名