1. 程式人生 > >java中“53”個關鍵字(含2個保留字)

java中“53”個關鍵字(含2個保留字)

xtend bool 怎麽 swing 繼續 接口實現 nds 大括號 trac

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<異常類>]

其中:異常類可以聲明多個,用逗號分割。

區別二:

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個保留字)