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)兩者都是消極處理異常的方式(這裡的消極並不是說這種方式不好),只是拋出或者可能拋出異常,但是不會由函數去處理異常,真正的處理異常由函數的上層調用處理。 好懷念啊,以前玩天堂私服玩到自己學JAVA改核心 剛入行的時候也常被保留字搞到
好懷念阿
頁:
[1]