咱們成功書寫了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 用於定義數據類型值的關鍵字
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。this
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中的用來表示這些名詞的單詞是什麼呢?有什麼命名規則呢?答:標識符;下面咱們來解讀一下。spa
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