這一篇從最基礎的開始對比總結,說起基礎語言要素,故名思義,就是學習語言的基礎,主要內容包括標識符,關鍵字和注釋。我想從以下幾點進行總結,有區別的地方有都使用紅色粗體字進行了總結。
1,標識符
2,關鍵字
3,注釋
標識符
這個術語在java和C#中的定義是一樣的,即標識符是程序員為自已定義的類,方法和變量所起的名字。
比較了java和C#對於標識符的定義和約定,規則基本相同。
1,標識符區分大小寫。
2,標識符由字母,數字,下划線和美元符號組成,但是,不能以數字開頭。
注意:在C#中方法名一般用pascal帕斯卡命名法,即每個單詞首字母都大寫,而在java中,方法名一般用camel駱駝命名法,即第一個單詞首字母小寫,后面的單詞首字母都大寫。
比如,定義一個人的類,可以命名為Person;定義一個獲取人名的方法,可以命名為getPersonName(在C#中一般是GetPersonName)。
關鍵字
所謂關鍵字,就是語言特有的記號,我們不能用它來作為標識符,關鍵字只能由系統使用。
對關鍵字進行分類,大致包括以下幾類:
1,訪問修飾符關鍵字
訪問修飾符包括以下幾種:
1) public,公共的,可以被任何包中的類訪問。注意包的概念后面會進行總結,在.net中一般叫程序集(dll)。
2) protected,受保護的,可以被同一包中的類或者子類訪問,其它包的類或者子類不能訪問它。
3) private,私有的,方法和變量只能被所在類訪問。
可以看出,訪問修飾符的概念java和C#差不多,只不過C#中不僅包括以下三種修飾符,還包括更多的修飾符比如internal等。另外,有一個概念的區別需要我們注意,java中的包(即jar包),在C#中一般稱為程序集(即dll)。
2,類,接口,方法和變量修飾符關鍵字
1) class,聲明類的關鍵字,比如我們聲明一個人的類,可以這樣,public class Person{}。
2) interface,聲明接口,比如要聲明人的接口,可以這樣,public interface IPerson{}。
3) implements,類實現接口,比如要讓人的類Person實現IPerson接口,可以這樣實現,public class Person implements IPerson{}。
4) extends,用於繼承,比如我們定義一個男孩Boy類繼承Person類,可以這樣,public class Boy extends Person{}。
5) abstract,抽象修飾符,比如我們要定義一個抽象類,可以這樣,public abstract class Person{},
6) static,靜態的,static可以修飾類,方法和變量。
7) new,實例化對象。一般在實例化某個類的對象的時候使用。
總結:需要注意的是,實現接口和繼承的時候,java和.net的實現方式是不一樣的,在java中類實現接口使用implements關鍵字,實現繼承使用extends,而在.net中是用符號”:”來實現的。
3,流程控制語句關鍵字
流程控制語句包括if…else語句,for語句,switch…case…default語句,do…while語句,return語句,continue語句和break語句等。
總結:java中沒有foreach語句關鍵字,但是有增強版的for循環實現了類似於.net中foreach的功能。具體的后面在講集合的遍歷的時候會總結到。
4,異常處理關鍵字
異常處理一般的結構是,try…catch…finally,當然還包括throw。這跟.net中是完全一樣的。
5,包控制關鍵字
包控制關鍵字包含兩個,分別是Package來定義包,並將類定義到這個包中。還有一個是import關鍵字,import是將包或者類導入到程序中。
總結:Package這個是java獨有的,而import有點類似於.net中的using。
6,數據類型關鍵字
java中共有八種基本數據類型,每一個基本數據類型都需要一個關鍵字來定義。
分別是short短整型,int整型,long長整型,float單精度浮點型,double雙精度浮點型,byte字節型,char字符型和boolean布爾型。這些與.net類似。
7,特殊類型的關鍵字
主要有兩個,這兩個也比較常用。
1) this,引用當前類對象。
2) super,引用父類。
3) void,用於定義沒有返回值的方法。
總結:java與.net不同的是,在java中引用父類用super,而在C#中則使用base。
注釋
關於注釋,主要有以下三種類型的注釋。
1) 單行注釋,使用//
2) 多行注釋,使用/* */
3) 文檔注釋,使用/** */
總結:在單行注釋和多行注釋上,java與C#是一樣的。但是,在文檔注釋上是不同的,java文檔注釋使用/** */符號,而C#是///符號。