a29343539 發表於 2018-2-13 21:12:32

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 常量表達式1:語句1;....case 常量表達式2:語句2;default:語句;}default就是如果沒有符合的case就執行它,default並不是必須的.case後的語句可以不用大括號.switch語句的判斷條件可以接受int,byte,char,short,不能接受其他類型.
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塊中,如果有異常拋出,則轉到catch塊去處理。然後執行catch塊後面的語句2.try+catch+finally程序的流程是:運行到try塊中,如果有異常拋出,則轉到catch塊,catch塊執行完畢後,執行finally塊的代碼,再執行finally塊後面的代碼。如果沒有異常拋出,執行完try塊,也要去執行finally塊的代碼。然後執行finally塊後面的語句3.try+finally程序的流程是:運行到try塊中,如果有異常拋出的話,程序轉向執行finally塊的代碼。那末finally塊後面的代碼還會被執行嗎?不會!因為你沒有處理異常,所以遇到異常後,執行完finally後,方法就已拋出異常的方式退出了。這種方式中要注意的是,由於你沒有捕獲異常,所以要在方法後面聲明拋出異常(來自網上的資料)
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可以單獨使用,但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)兩者都是消極處理異常的方式(這裡的消極並不是說這種方式不好),只是拋出或者可能拋出異常,但是不會由函數去處理異常,真正的處理異常由函數的上層調用處理。

cute2272 發表於 2019-6-24 10:52:54

好懷念啊,以前玩天堂私服玩到自己學JAVA改核心

xoxo1100 發表於 2019-8-5 14:58:43

剛入行的時候也常被保留字搞到
好懷念阿
頁: [1]
查看完整版本: java中「53」個關鍵字(含2個保留字)