C#與Java的一些小異同

最近初學C#,在這裏小結一下在網上找到的C#Java的一些小異同

最重要的功能對比:

相同點:

繼承:C#Java均是單繼承,可實現多個接口。

接口實現:C#Java均是通過“interface”關鍵詞。

內存管理:均由運行時環境管理,使用垃圾收集器。

單一的公共基類:兩者均是Object

異常處理:均提供異常處理

封裝與可見性:無論是在C#還是Java中,都可以決定類成員是否可見。

多態性:C#Java都支持某些形式的多態性機制。

不同點:

指針:C#支持,但只在很少使用的非安全模式下支持,通常以引用取代指針,Java則完全不支持,以引用取代之。

源代碼編譯後的形式:C#.NET中間語言(IL)Java爲字節碼(.class)

默認包:C#中不存在默認的包,Javajava.lang包是默認的包。

最終類:C#中不存在final關鍵詞,但可以使用sealed關鍵詞使某個類不再被派生。

 

下表是一些更細化的異同對比:

項目

C#

Java

源文件拓展名

.cs

.java

包含的頂級公共類

可包含多個,文件名不需要與類名相同

只能包含一個,文件名必須與類名相同

頂級聲明

Namespace,允許一個文件出現多個命名

空間

Package,一個源文件中不能出現多個包

 

引用命名空間或包

Using

Import

數據類型與運算符

字符串類型

String

String

布爾類型

Bool

boolean

比較字符串的值

==,!=,Equals()

Equals()

隱式和顯示類型轉換

相似

 

基本運算符

相同,+,-,*,/,%,=,==,?:,++,--,!,&&,||,()

分支語句

if

相同

 

switch

每個case尾部必須有break

可判斷字符串變量

不強制要求case中包含break

不能判斷字符串變量

數組

數組聲明

數組聲明中的方括號必須跟在數據類型

後面,且不能放在變量名稱之後

如:int[] array

方括號可以放在變量名前或後

如:int[] array或int array[]

初始化

可以同時指定數值長度和初值,但初值

的數目必須一致

如:int[] array = new int[3]{1,2,3}

如果賦初值就不能指定長度,如果指定

長度就不能賦初值

如:int [] array = new[3];

int[] array = new int[]{1,2,3};

循環語句

For,while,do…while

相同

 

foreach

C#獨有

方法

程序入口

Main方法,M大寫返回類型爲void或int

命令行參數可選

main方法,m小寫返回類型爲void命令行

參數必須有

基本數據類型作參數

默認是值傳遞,用ret可以變成引用傳遞

值傳遞

 

    上述文字與表格的內容對比僅是C#Java間異同的很少以及很基本的一部分,C#Java兩者從很大程度上有着許多的相同點,但儘管如此我們在使用兩種不同的語言時不難發現其實兩者也有很多的不同之處。掌握好這些差異所在並加以利用才能提高自身編寫程序效率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章