在程序設計語言中,標識符是用作程序的某一元素的名字的字符串或用來標識源程序中某個對象的名字的。這個元素可以是一個語句標號,一個過程或函數、一個數據元素(例如一個標量變量或一個數組)或程序本身。最通常是,標識符這個字幾乎與變量名同義地使用。在程序數據的位置在整個程序執行期間保持不變的系統中,用於標量變量的標識符聯系到存儲器地址,而存儲器地址又指向機器的存儲器內的物理單元,該單元又含有一個值的表示。標識符與一個值之間的中間關系通常對程序員是透明的,因此在實際中在一個變量的名字(即其標識符)與其值(它是分配給該標識符的存儲單元的當前內容)之間出現混淆。在大多數程序設計語言中,標識符可由任何字母數字字符串形成,長度往往有限制(通常為6到8個字符),只要最左邊字符是字母。有些語言還容許采用專用字符。因此任何一種計算機語言都離不開標識符和關鍵字,下面將介紹一下 Java 的標識符、關鍵字和保留字。
標識符
Java 中標識符是為方法、變量或其他用戶定義項所定義的名稱。例如,對於常量、變量、函數、語句塊、類、項目等都需要一個名字,這些我們都統統稱為標識符。標識符可以有一個或多個字符,在 Java 語言中,標識符的構成規則如下。
- 標識符由數字(0-9)和字母(A-Z 和 a-z)、美元符號($)、下划線(_)以及 Unicode 字符集中符號大於 0xC0 的所有符號組合構成(各符號之間沒有空格)。
- 標識符的第一個符號為字母、下划線和美元符號,后面可以是任何字母、數字、美元符號或下划線。
另外,Java 區分大小寫,因此 myvar 和 MyVar 是兩個不同的標識符。
提示:標識符命名時,切記不能以數字開頭,也不能使用任何 Java 關鍵字作為標識符,而且不能賦予標識符任何標准的方法名。
標識符分為兩類,分別為關鍵字和用戶自定義標識符。
- 關鍵字是有特殊含義的標識符,如 true、false 表示邏輯的真假。
- 用戶自定義標識符是由用戶按標識符構成規則生成的非保留字的標識符,如 abc 就是一個標識符。
提示:使用標識符時一定要注意,或者使用關鍵字,或者使用自定義的非關鍵字標識符。此外,標識符可以包含關鍵字,但不能與關鍵字重名。
例如以下合法與不合法標識符。
- 合法標識符:date、$2011、date、D$date 等。
- 不合法的標識符:123.hw、2com、for、if 等。
命名規范(駝峰命名法)
- 類名和接口名:每個單詞的首字母,其余為小寫。(大駝峰)
- 方法名:第二個單詞起的首字母為大寫,其余全為小寫。(小駝峰)
- 常量名:基本數據類型的常量名使用全部大寫字母,字與字之間用下划線分隔。
標識符用來命名常量、變量、類和類的對象等。因此,一個良好的編程習慣要求命名標識符時,應賦予它一個有意義或有用途的名字。總的來說,就是見名知義。
關鍵字
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | supper |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
關鍵字(或者保留字)是對編譯器有特殊意義的固定單詞,不能在程序中做其他目的使用。關鍵字具有專門的意義和用途,和自定義的標識符不同,不能當作一般的標識符來使用。
Java 的關鍵字對 Java 編譯器有特殊的意義,它們用來表示一種數據類型,或者表示程序的結構等。保留字是為 Java 預留的關鍵字,它們雖然現在沒有作為關鍵字,但在以后的升級版本中有可能作為關鍵字。
Java 語言目前定義了 51 個關鍵字,這些關鍵字不能作為變量名、類名和方法名來使用。以下對這些關鍵字進行了分類。
(1)用於數據類型。
用於數據類型的關鍵字有 boolean、byte、char、 double、 float、int、long、new、short、void、instanceof。
(2)用於語句。
用於語句的關鍵字有break、case、 catch、 continue、 default 、do、 else、 for、 if、return、switch、try、 while、 finally、 throw、this、 super。
(3)用於修飾
用於修飾的關鍵字有 abstract、final、native、private、 protected、public、static、synchronized、transient、 volatile。
(4)用於方法、類、接口、包和異常。
用於方法、類、接口、包和異常的關鍵字有 class、 extends、 implements、interface、 package、import、throws。
還有些關鍵字,如 future、 generic、 operator、 outer、rest、var等都是Java保留的沒有意義的關鍵字。
另外,Java還有3個保留字:goto、const、null。它們不是關鍵字,而是文字。包含Java定義的值。和關鍵字一樣,它們也不可以作為標識符使用。
注意:Java 的 null 不是關鍵字,類似於 true 和 false,它是一個字面常量,不允許作為標識符使用。由於 Java 區分大小寫,因此 public 是關鍵字,而 Public 則不是關鍵字。但是為了程序的清晰及可讀性,要盡量避免使用關鍵字的其他形式來命名。