java中“53”個關鍵字(含2個保留字)
1.java的關鍵字(keyword)有多少個?
51+2個保留字=53個關鍵字(java的關鍵字都是小寫的!!)
2.java的保留字(reserve word)有多少個?問題:分別是什麽?
2個保留字
Java語言的的保留字是指預留的關鍵字
1).const 有道釋義:n. 常量,常數
用於修改字段或局部變量的聲明。它指定字段或局部變量的值是常數,不能被修改
2).goto 有道釋義:vi. 轉到
指定跳轉到標簽,找到標簽後,程序將處理從下一行開始的命令。
3.java的關鍵字分別是什麽,作用是什麽?
1).訪問修飾符的關鍵字(共3個)
關鍵字 |
意思 |
備註,常用 |
public |
公有的 |
可跨包,(默認選擇) |
protected |
受保護的 |
當前包內可用
|
private |
私有的 |
當前類可用 |
2).定義類、接口、抽象類和實現接口、繼承類的關鍵字、實例化對象(共6個)
關鍵字 |
意思 |
備註,常用 |
class |
類 |
public class A(){} 花括號裏有已實現方法體,類名需要與文件名相同 |
interface
|
接口 |
public interface B(){} 花括號裏有方法體,但沒有實現,方法體句子後面是英文分號“:”結尾 |
abstract
|
聲明抽象 |
public abstract class C(){} 介於類與接口中間,可以有也可以沒有已經實現的方法體 |
implements
|
實現 |
用於類或接口實現接口public class A interface B(){} |
extends
|
繼承 |
用於類繼承類 public class A extends D(){} |
new |
創建新對象 |
A a=new A(); A表示一個類 |
3).包的關鍵字(共2個)
關鍵字 |
意思 |
備註,常用 |
import |
引入包的關鍵字 |
當使用某個包的一些類時,僅需類名 然後使用ctrl+shift+o或者選定類名(類或屬性或方法)按住ctrl+單擊 即可自動插入類所在的包。如:JFrame 快捷鍵之後自動加入 import javax.swing.JFrame; |
package |
定義包的關鍵字 |
將所有有關的類放在一個包類以便查找修改等。如:package javake.flycat.draw002; |
4).數據類型的關鍵字(共12個)
關鍵字 |
意思 |
備註,常用 |
byte |
字節型 |
8bit |
char |
字符型 |
16bit |
boolean |
布爾型 |
-- |
short |
短整型 |
16bit |
int |
整型 |
32bit |
float |
浮點型 |
32bit |
long |
長整型 |
64bit |
double |
雙精度 |
64bit |
void |
無返回 |
public void A(){} 其他需要返回的經常與return連用 |
null |
空值 |
|
true |
真 |
|
false |
假 |
|
5).條件循環(流程控制)(共12個)
關鍵字 |
意思 |
備註,常用 |
if |
如果 |
if(){} 如果小括號裏面怎麽怎麽樣 花括號就怎麽怎麽樣 |
else |
否則,或者 |
常與if連用,用法相同 |
while |
當什麽的時候 |
while 怎麽樣就do什麽 while(){} |
for |
滿足三個條件時 |
for ( ; ; ){} |
switch |
開關 |
switch(表達式) |
case |
返回開關裏的結果 |
|
default |
默認 |
|
do |
運行 |
長與while連用 |
break |
跳出循環 |
|
continue |
繼續 |
中斷本次循環,並並開始下一次 |
return |
返回 |
return 一個返回值類型 |
instanceof |
實例 |
一個二元操作符,和==,>,<是同一類的。測試它左邊的對象是否是它右邊的類的實例,返回boolean類型的數據 |
6).修飾方法、類、屬性和變量(共9個)
關鍵字 |
意思 |
備註,常用 |
static |
靜態的 |
屬性和方法都可以用static修飾,直接使用類名.屬性和方法名。 只有內部類可以使用static關鍵字修飾,調用直接使用類名.內部類類名進行調用。 static可以獨立存在。靜態塊 |
final |
最終的不可被改變的 |
方法和類都可以用final來修飾 final修飾的類是不能被繼承的 final修飾的方法是不能被子類重寫。 常量的定義: final修飾的屬性就是常量。 |
super |
調用父類的方法 |
常見public void paint(Graphics g){ super.paint(g); ··· } |
this |
當前類的父類的對象 |
調用當前類中的方法(表示調用這個方法的對象) this.addActionListener(al):等等 |
native |
本地 |
|
strictfp |
嚴格,精準 |
|
synchronized |
線程,同步 |
|
transient |
短暫 |
|
volatile |
易失 |
|
static 例子:
public class Test{
class A{} //內部類
ActionListener al=new ActionListener(···){} //匿名內部類
}
靜態塊優先於其他方法/類的執行
7).錯誤處理(共5個)
關鍵字 |
意思 |
備註,常用 |
catch |
處理異常 |
1.try+catch (來自網上的資料) |
try |
捕獲異常 |
|
finally |
有沒有異常都執行 |
|
throw |
拋出一個異常對象 |
一些可以導致程序出問題的因素,比如書寫錯誤,邏輯錯誤或者是api的應用錯誤等等. 為了防止程序的崩潰就要預先檢測這些因素,所以java 使用了異常這個機制. 在java中異常是靠 "拋出" 也就是英語的"throw" 來使用的,意思是如果發現到什麽異常的時候就把錯誤信息 "拋出"
|
throws |
聲明一個異常可能被拋出 |
把異常交給他的上級管理,自己不進行異常處理 |
throw是你執行的動作。比如你覺得可能有異常,那麽就抱出去 如:
String a; if(a == null),
throw new exception("a為null");
所以throw是一個拋出去的動作
throws只用在一個方法的末端,表示這個方法體內部如果有異常,這拋給它的調用者。 如: public void add(int a, int b) throws Exception(); 這個方法表示,在執行這個方法的時候,可能產生一個異常,如果產生異常了,那麽誰調用了這個方法,就拋給誰。(來自百度)
8).不知道是什麽(共2個)
關鍵字 |
意思 |
備註,常用 |
enum |
枚舉,列舉型別 |
|
assert |
斷言 |
|
Enum:代表一組常用常量,可用來代表一類相同類型的常量值如:
性別:
public enum SexEnum {
male, female;
}
顏色:
public enum Color {
RED, BLUE,GREEN,BLACK;
}
枚舉對象裏面的值都必須是唯一的。
附:throw 和throws的差別
區別一:
throw 是語句拋出一個異常;throws 是方法拋出一個異常;
throw語法:throw <異常對象>
在方法聲明中,添加throws子句表示該方法將拋出異常。
throws語法:[<修飾符>]<返回值類型><方法名>([<參數列表>])[throws<異常類>]
其中:異常類可以聲明多個,用逗號分割。
區別二:
throws可以單獨使用,但throw不能;
區別三:
throw要麽和try-catch-finally語句配套使用,要麽與throws配套使用。但throws可以單獨使用,然後再由處理異常的方法捕獲。
throws E1,E2,E3 只是告訴程序這個方法可能會拋出這些個異常,方法的調用者可能要處理這些異常。而這些異常E1,E2,E3可能是該函數體產生的。
而throw是明確之處這個地方要拋出這個異常。
void doA() throws Exception1, Exception3 {
try {
……
} catch(Exception1 e) {
throw e;
} catch(Exception2 e) {
System.out.println("出錯了");
}
if (a != b)
throw new Exception3("自定義異常");
}
代碼塊……中可能產生異常Exception1、Exception2和Exception3。
如果產生Exception1異常,則捕捉了之後拋出由該方法的調用者去做處理;
如果產生Exception2異常,則該方法自己做了處理(打印出了說出錯了),所以該方法就不會再向外拋出Exception2異常了,void doA() throws Exception1,,Excpetion3裏面的Exception2也就不用寫了;
而Exception3異常是該方法的某段邏輯出錯,程序員自己作了處理在該段邏輯錯誤的情況下拋出異常Exception3,則調用者也需要處理。
throw語句用在方法體內,表示拋出異常,由方法體內的語句處理
throws語句用在方法聲明後面,表示再拋出異常,由調用這個方法的上一級方法中的語句來處理
throws主要是聲明這個方法會拋出這種類型的異常,使其他地方調用它時知道要捕獲這個異常。
throw是具體向外拋異常的動作,所以它是拋出一個異常實例。
throws說明你有哪個可能,傾向
throw的話,那就是你把那個傾向變成真實的了
同時:
1)throws出現在方法函數頭;而throw出現在函數體;
2)throws表示出現異常的一種可能性,並不一定會發生這些異常;throw則是拋出了異常,執行throw則一定拋出了某種異常;
3)兩者都是消極處理異常的方式(這裏的消極並不是說這種方式不好),只是拋出或者可能拋出異常,但是不會由函數去處理異常,真正的處理異常由函數的上層調用處理。
https://blog.csdn.net/u012506661/article/details/52756452
java中“53”個關鍵字(含2個保留字)