我們成功書寫了HelloWorld後,又深入瞭解了main函數,提到過main並非是關鍵字,可什麼又是關鍵字呢?這其實就是這章要研究的內容,本節研究關鍵字與標識符,在標識符中我們也會講解一下Java中的駝峰命名; 1.1 關鍵字 在Hello World中,我們發現其中有很多單詞是固定的,這其實就是 ...
我們成功書寫了HelloWorld後,又深入瞭解了main函數,提到過main並非是關鍵字,可什麼又是關鍵字呢?這其實就是這章要研究的內容,本節研究關鍵字與標識符,在標識符中我們也會講解一下Java中的駝峰命名;
1.1 關鍵字
在Hello World中,我們發現其中有很多單詞是固定的,這其實就是Java中的關鍵字,關鍵字在Java中有特殊的含義,下麵我們來具體認識一下,這裡先簡單介紹一下Java中的關鍵字,後面我們在學習中會針對一些特定的關鍵字進行特別的解析。
1.1.1 關鍵字的定義及特點
- 關鍵字是Java語言里事先定義的,有特別意義的單詞,有時又叫保留字,含有特別意義的變數。
- Java的關鍵字對Java的編譯器有特殊的意義,他們用來表示一種數據類型,或者表示程式的結構等
- 關鍵字不能用作變數名、方法名、類名、包名和參數。
- Java語言規定關鍵字不能作為標識符。
- 目前共有50個Java關鍵字,其中,"const"(常數)和"goto"(轉到)這兩個關鍵字在Java語言中並沒有具體含義。Java語言把它們列為關鍵字,只是因為"const"和"goto"是其他某些電腦語言的關鍵字。
- 關鍵字中所有字母都為小寫。
1.1.2 關鍵字的分類
關鍵字根據用途可以分為一下幾類:
1.1.2.1 用於定義數據類型的關鍵字
- class:類
- interface:介面
- byte:基本數據類型之一,位元組類型
- short:基本數據類型之一,短整數類型
- int:基本數據類型之一,整數類型
- long:基本數據類型之一,長整數類型
- float:基本數據類型之一,單精度浮點數類型
- double:基本數據類型之一,雙精度浮點數類型
- char:基本數據類型之一,字元類型
- boolean:基本數據類型之一,布爾類型
- void:聲明當前成員方法沒有返回值
1.1.2.2 用於定義數據類型值的關鍵字
- true:真
- false:假
- null:空
1.1.2.3 用於定義流程式控制制的關鍵字
- if:條件語句的引導詞
- else:用在條件語句中,表明當條件不成立時的分支
- while:用在迴圈結構中
- do:用在do-while迴圈結構中
- switch:分支語句結構的引導詞
- case:用在switch語句之中,表是其中的一個分支
- default:預設,例如,用在switch語句中,表明一個預設的分支
- for:一種迴圈結構的引導詞
- break:提前跳出一個塊
- continue:回到一個塊的開始處
- return:從成員方法中返回數據
1.1.2.4 用於定義訪問許可權修飾符的關鍵字
- private:一種訪問控制方式:私用模式,只能自己訪問
- protected:一種訪問控制方式:保護模式,允許子類和同包類訪問
- public:一種訪問控制方式:共用模式,允許所有外部類訪問
訪問許可權修飾符許可權從高到低排列是public ,protected private。
1.1.2.5 用於定義類,函數,變數修飾符的關鍵字
- abstract:表明類或者成員方法具有抽象屬性
- final:用來說明最終屬性,表明一個類不能派生出子類,或者成員方法不能被覆蓋,或者成員域的值不能被改變
- static:表明具有靜態屬性
- synchronized:表明一段代碼需要同步執行
1.1.2.6 用於定義類與類之間關係的關鍵字
- extends:表明一個類型是另一個類型的子類型,這裡常見的類型有類和介面
- implements:表明一個類實現了給定的介面
1.1.2.7 用於定義建立實例及引用實例,判斷實例的關鍵字
- new:用來創建新實例對象
- this:指向當前實例對象的引用
- super:表明當前對象的父類型的引用或者父類型的構造方法
- instanceof:用來測試一個對象是否是指定類型的實例對象
1.1.2.8 用於異常處理的關鍵字
- try:嘗試一個可能拋出異常的程式塊
- catch:用在異常處理中,用來捕捉異常
- finally:用於處理異常情況,用來聲明一個基本肯定會被執行到的語句塊
- throw:拋出一個異常
- throws:聲明在當前定義的成員方法中所有需要拋出的異常
1.1.2.9 用於包的關鍵字
- import:表明要訪問指定的類或包
- package:包
1.1.2.10 其他修飾符關鍵字
- native:用來聲明一個方法是由與電腦相關的語言(如C/C++/FORTRAN語言)實現的
- strictfp:用來聲明FP_strict(單精度或雙精度浮點數)表達式遵循IEEE 754算術規範
- transient:聲明不用序列化的成員域
- volatile:表明兩個或者多個變數必須同步地發生變化
- assert:用來進行程式調試
1.2 標識符
在上面我們知道了關鍵字不能用於變數名、類名、方法名等,那麼Java中的用來表示這些名詞的單詞是什麼呢?有什麼命名規則呢?答:標識符;下麵我們來解讀一下。
1.2.1 標示符的定義、特點及命名
- Java 語言中,對各種變數、方法和類等要素命名時使用的字元序列稱為標識符。
- 標識符由任意順序的字母大小寫,數字,下劃線‘_’,美元符$ 組成
- Java語言中標識符中的字母是嚴格區分大小寫的。Java語言使用Unicode標準字元集,最多可以標識65535個字元,因此Java語言中的字母不僅包括通常的拉丁文字a、b、c等,還包括漢字、日文以及其他許多語言中的文字。
- Java 標識符有如下命名規則:
- 標識符應以字母、下劃線 、美元符開頭【下麵的標識符是合法的:myName,My_name、Points,$points,_sys_ta,OK,_23b,_3_
下麵的標識符是非法的:#name,25name,class,&time,if】。
-
- 標識符不能是關鍵字。註意:Java 標識符選取應註意“見名知意”且不能與 Java 語言的關鍵字重名。
- Java中嚴格區分大小寫。如good和Good是不同的兩個標識符。標識符中不能有空格;
1.2.2 Java中的名稱規範-駝峰命名
- 包名:多單片語成時所有字母都小寫。xxx.yyy.zzz 例如:cn.itcast.student,功能變數名稱反轉
- 類名介面名:多單片語成時,所有單詞的首字母大寫。XxxYyyZzz
- 變數名和函數名:多單片語成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大xxxYyyZzz
- 常量名:所有字母都大寫。多單詞時每個單詞用下劃線連接。XXX_YYY_ZZZ