Java和C#語言有什么區別?答案在這里

JAVA是一種可以跨平臺開發的語言,而C#目前只被Windows和Linux支持,Windows下的支持當然是由微軟自己開發的,而Linux下的支持則有MONO支持。實際上,MONO也是把C#應用轉化為JAVA應用而已,所以本質上,C#仍然只是被微軟自己的操作系統支持。應用平臺受到限制,是它最大的缺點。Java語言是一種完全的面向對象語言,雖然它的底層(運行時庫)是用C語言開發的,可是并不依賴于C。

因為Java的運行是在運行時庫的支持下進行的,所以運行效率比起可以更接近底層的C/C++來說效率會有所影響,不過Java的類庫采用很好的設計理念設計,非常好用,也非常實用,已經成為業界的一種標準開發語言。它的跨平臺的特性尤其讓很多開發者歡迎,你只需要開發一次就能在所有安裝了Java運行時庫的系統上運行。Java發展了十幾年了,可以應用領域非常之廣泛,Web開發有JSP,J2EE,桌面領域現在有JavaFX。Java既可以被編譯,也可以被解釋。通過編譯器,可以把Java程序翻譯成一種中間代碼 - 稱為字節碼 - 可以被Java解釋器,解釋的獨立于平臺的代碼。通過解釋器,每條Java字節指令被分析,然后在計算機上運行。只需編譯一次,程序運行時解釋執行。

通過上面的介紹,大家有一定的了解了,下面就具體的給大家分析一下:

1、關鍵字的不同a在Java中,如果導入其他包,應該使用import關鍵字,而在C#中,使用using關鍵字來引用其他的命名空間,但兩者的作用一樣。b:namespace(命名空間)是C#中組織代碼的方式,而package(包)是Java中用到的,它們的作用就是可以把緊密相關的一些代碼放在同一個命名空間中,大大提高管理和使用效率。c:在Java和C#中都是用class關鍵字表示類,而且編寫的任何代碼都應該包含在一個類里面。類要包含在一個命名空間或包中,但不同的是在Java中,要求類名必須與源文件的名字一樣,而C#不要求。

2、Main方法的不同C#中的Main()方法和Java中的main()方法作用都是一樣的,都是程序運行的第一步。但Java中main()方法首字母小寫且只有一種寫法,而C#中的Main()方法首字母必大寫且有四種寫法。分別是:Static void Main(string [] args){}static void Main(){}Static int Main(string [] args){}static int Main(){}3. 源文件方面。C#可以在一個.cs 文件中。出現多個name sapce(命名空間,有些類似于pacakage),并定義多個類。C#包含有預處理指令。

3、數據類型方面。a) C#定義了struct(結構),不能是抽象的,也不能被繼承,是值類型的。b) C#沒有基本類型的概念,全部是面向對象的類型,int是Int32的簡寫。c) 在Java中const是保留字,final與C#中的 const意思相同,C#中還有readonly允許運行時賦初值。d) 字符串比較,C#中可以用=比較值,與Java一樣用 StringBuffer來減少內存開銷。

4、運算符方面。C#增加了Checked和Unchecked以 繞過編譯錯誤。比如“把一個long付給int32 ,如果高32為零 則不會出錯,否則會有溢出錯誤,unchekced就是告訴編譯器不要去管溢出,盡你可能轉化”

5、分支語句方面。在Java中goto是保留字。C#中 switch中的case不會順序執行,末尾必須有break或者goto關鍵字。

6、訪問修飾符方面。在范圍放main,C#增加了internal和protected internal,前者表示只能從當前程序集內可見,即可以在編譯時可Assembly的DLL或EXE,類似于JAR;后者表示對當前程序集或者從此包 含類繼承的類可見。Sealed相當于Java中的final關鍵字。Java和C#都比較高級,可以看作高級語言的高級語言,優點是開發容易,但運行效率不如更為底層的C/C++。具體選擇使用的時候,可以根據實際的項目需要選擇。運行效率要求高的,底層控制要求高的用C/C++,否則可以選擇Java或C#;跨平臺的要求高的可以用Java。

7、輸入和輸出方法在Java中輸出方法為:System.out.println();和另一種System.out.println(要輸出的值);輸入方法為:創建Scanner對象,如Scanner sa = new Scanner();再用對象點方法。如 String name = sa.nextString();在C#中輸出方法為:Console.WriteLine();和Console.WriteLine(要輸出的值);及一種C#獨有的一種方法Console.WriteLine(“格式字符串”,變量列表);輸入方法為:string name = Console.ReadLine();另外值得一提的是,java主要是J2EE和手機方面的應用比較多,c#主要是用于.net網站或web系統開發,從這一點上看,java比.net的市場需求和就業待遇都要稍高一些。另外,java的學習難度比.net的學習難度大一點,至于哪個更有前途,我想這個可能部分伯仲吧。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374

推薦閱讀更多精彩內容