標籤:
背景
由於在阿里的實習面試中被問到java有哪些關鍵字這個問題,但是自己感覺很基礎卻又一直沒怎麼關注的知識點,也許面試官不是要的你真正的能記住java的50個關鍵字,而是回答的思路,當時沒想明白,只說了一些基礎資料型別 (Elementary Data Type),現在好好總結一下。
分類資料類型(8個)
| 關鍵字 |
類型 |
字長 |
備忘 |
| boolean |
布爾型 |
1byte |
true,false |
| byte |
位元組型 |
1byte |
-128~127 |
| char |
字元型 |
2byte |
Unicode碼 |
| short |
短整型 |
2byte |
|
| int |
整型 |
4byte |
|
| long |
長整型 |
8byte |
|
| float |
浮點型 |
4byte |
|
| double |
雙精確度型 |
8byte |
|
類、介面、方法和變數修飾符(13個)
| 關鍵字 |
作用 |
備忘 |
| class |
表示一個類 |
定義一個類 |
| interface |
表示一個介面 |
定義一個介面 |
| new |
分配新的類執行個體 |
注意和malloc不同 |
| abstract |
抽象方法,抽象類別的修飾符 |
|
| extends |
表示繼承 |
|
| implements |
表示實現介面 |
|
| final |
修飾類,方法,變數 |
|
| native |
表示方法用非java代碼實現 |
|
| static |
表示在類層級定義,所有執行個體共用的 |
|
| strictfp |
可應用於類、介面或方法 strict float point (精確浮點) |
在這個關鍵字所聲明的範圍內所有浮點運算都是精確 |
| synchronized |
用於方法或者代碼塊 |
多線程同步 |
| volatile |
標記欄位可能會被多個線程同時訪問,而不做同步 |
|
| transient |
修飾一個實現了可序列化介面的類中不要序列化的欄位 |
|
流程式控制制(11個)
if: 表示條件判斷,一般用法if(關聯運算式),後跟else或{……}
do……while……:do和while一般一起使用,用於表示迴圈語句。
for:用於表示迴圈,for迴圈是最常使用的迴圈
switch(條件a)case……:switch和case合起來用於表示條件分支流程。default是在所有case條件下都不成立時使用。如果用於類,表示只可同一個包內的其它類訪問。
break:用於結束本層迴圈,或跳出某層迴圈。
continue:用於跳出本次迴圈,而break跳出本層迴圈。
return:返回一個值,通常用於函數中,返回一個具有特定類型的值。
存取控制(3個)
| 關鍵字 |
本類 |
同一個包 |
不同包中子類 |
不同包且無繼承 |
作用(含義) |
| public |
可以 |
可以 |
可以 |
可以 |
公有的 |
| protect |
可以 |
可以 |
可以 |
不可以 |
受保護的 |
| default(無許可權修飾符) |
可以 |
可以 |
不可以 |
不可以 |
預設的 |
| private 可以 |
可以 |
不可以 |
不可以 |
不可以 |
私人的 |
錯誤處理(5個)
try……catch……finally……:用於異常處理
throw 拋出一個異常對象
throws 聲明一個異常可能被拋出
包相關(2兩個)
import 引入
package 包
變數引用(3個)
- super 父類,超類
- this 本類
- void 無傳回值
保留字(2個)
goto 跳轉
const 靜態
其他關鍵字
instanceof 判斷某個對象是否為自己所要的對象
assert 斷言條件是否滿足
enum 枚舉類型
學習java關鍵字