Java中的50個關鍵字

Java中的50個關鍵字

    關鍵字也稱爲保留字,是指java語言中規定了特定含義的標示符。對於保留字,用戶只能按照系統規定的方式使用,不能自行定義。Java中有50個常用關鍵字:


與數據類型相關(10)

image.png

 


與流程控制相關(13)

if: 表示條件判斷,一般用法if(關係表達式),後跟else或{……}


else: 條件轉折,如if (關係表達式){語句塊1}else{語句塊2},如果關係表達式的值爲true,則執行語句塊1,否則執行語句塊2.


do……while……:do和while一般一起使用,用於表示循環語句。do{……}while(關係表達式)……;當關系表達式的值爲true是繼續循環。


for:用於表示循環,for循環是最常使用的循環,格式for(表達式a; 表達式b; 表達式c)括號裏面的書通常用於控制循環的次數,一般會用一個int類型的變量類計數,如(int i=0; i<10; i++)表達式a用於流程控制的開始值,表達式b表示循環終止條件,表達式c用於計數。


switch(條件a)case……:switch和case合起來用於表示條件分支流程。如:

while(int c) {

case 1: {語句塊1} 

case 2: {語句塊2}

……?????? ……

case n: {語句塊n}

default:exit(0);

}


如果c爲1,則執行語句塊1;如果c爲2,則執行語句塊2;以此類推,如果c爲n,則執行語句塊n。default表示除case以外出現的情況。


default:在switch……case……分支語句可知,default是在所有case條件下都不成立時使用。用於包表示s“rc”文件夾下的當前包;如果用於類,表示只可被本文件內的其它類訪問。


break:用於結束本層循環,或跳出某層循環。


continue:用於跳出本次循環,而break跳出本層循環。Break和continue可以實現類似於C\C++中goto語句的用法:

label0:

{

 for (int k = 0; k < 10; k++) {

 .......... 

 label1:

 for (int j = 0; j < 10; j++) {

  ................

  break label0;  //跳轉至label0

 }

 ...........

 label2:

 for (int kk = 0; kk < 10; kk++) {

  ..............

  break label0;  //跳至label2


 }

}


return:返回一個值,通常用於函數中,返回一個具有特定類型的值。如:


public int fuction()

{

  int a; 

  ……

  return a;//返回int型的值

}

try……catch……finally……:用於異常處理,使用形式如:


try{

 ……

}catch(類型b){

 ……

}finally{

 ……

}


try{……}中放置可能會發生異常的的語句塊,catch(){……}用於抓住異常,{}定義當出現異常時的處理方法。finally{……}表示不管異常是否發生,都得進行finally{}中的處理。


與修飾符相關(12)

不同訪問修飾符的訪問權限

image.png


如:


一個".java"後綴名的文件裏面只能一個publi型的cass類。如c13.swing包下有HelloWorld.java 文件,該文件下有如下代碼:

package c13.swing;

public class HelloWorld {

public void show() {

System.out.println("HelloWorld!");

}

}

在default包下有如下代碼:

import c13.swing.*;//引入所需要的包裏的所有類

public class Test {

public static void main(String args[]) {

HelloWorld h = new HelloWorld();

h.show();

}

}

此時運行正常,結果:HelloWorld!

如果把public class HelloWorld改成privateclass HelloWorld則會運行錯誤,因爲private是私有的不能被其他包內的對象所引用。

final:(類似於C++中的const),用法如下:

a,final的變量的值不能被改變;1),final的成員變量; 2)final的局部變量;

b,final的方法不能被重寫;

c,final的類不能被繼承。


void:空類型,用於函數前表示空返回值。


static:可用於定義靜態成員變量或方法


strictfp:意思是FP-strict,也就是說精確浮點的意思。在Java虛擬機進行浮點運算時,如果沒有指定strictfp關鍵字時,Java的編譯器以及運行環境在對浮點運算的表達式是採取一種近似於我行我素的行爲來完成這些操作,以致於得到的結果往往無法令你滿意。而一旦使用了strictfp來聲明一個類、接口或者方法時,那麼所聲明的範圍內Java的編譯器以及運行環境會完全依照浮點規範IEEE-754來執行。因此如果你想讓你的浮點運算更加精確,而且不會因爲不同的硬件平臺所執行的結果不一致的話,那就請用關鍵字strictfp。  

你可以將一個類、接口以及方法聲明爲strictfp,但是不允許對接口中的方法以及構造函數聲明strictfp關鍵字,例如下面的代碼: 


1. 合法的使用關鍵字strictfp 

strictfp interface A {}


public strictfp class FpDemo1 { 

strictfp void f() {} 

2. 錯誤的使用方法 

interface A { 

strictfp void f(); 

}


public class FpDemo2 { 

strictfp FpDemo2() {} 

}


一旦使用了關鍵字strictfp來聲明某個類、接口或者方法時,那麼在這個關鍵字所聲明的範圍內所有浮點運算都是精確的,符合IEEE-754規範的。例如一個類被聲明爲strictfp,那麼該類中所有的方法都是strictfp的。


abstract:抽象的意思,可以用定義抽象類,抽象函數。抽象類的用法規則如下:

a,用abstract關鍵字來修飾一個類時,這個類叫做抽象類;用abstract來修飾一個方法時,這個方法叫做抽象方法;

b,含有抽象方法的類必須被聲明爲抽象類,抽象類必須被繼承,抽象方法必須被重寫;

c,抽象類不能被實例化;

d,抽象方法只需聲明,而不需實現。


transient: Java語言的關鍵字,用來表示一個域不是該對象串行化的一部分。當一個對象被串行化的時候,transient型變量的值不包括在串行化的表示中,然而非transient型的變量是被包括進去的。

 使用對象:字段

介紹:字段不是對象持久的一部分,不應該字段和對象一起串起。


synchronized:鎖定當前對象,在執行當前這個對象時不應許其他線程打斷插入。使用的方式有:


(1),class Timer {

private static int num = 0;

public synchronized void add(String name) { //執行這個方法的過程中鎖定當前對象。

num ++;

try {

Thread.sleep(1);

} catch( InterruptedException e) {

return;

}

System.out.println(name + ",你是第" + num +"使用Timer的線程。");

}

}

(2),class Timer {

private static int num = 0;

public void add(String name) { 

synchronized(this) { //鎖定大括號這個區域的代碼段

num ++;

try {

Thread.sleep(1);

} catch( InterruptedException e) {

return;

}

System.out.println(name + ",你是第" + num +"使用Timer的線程。");

}

}

}


volatile:volatile變量一個時間只有一個線程可以訪問。 保證線程安全。 

可以被寫入 volatile 變量的這些有效值獨立於任何程序的狀態,包括變量的當前狀態。 

所以,Volatile 變量是一種非常簡單但同時又非常脆弱的同步機制,它在某些情況下將提供優於鎖的性能和伸縮性。


native:是用作java 和其他語言(如c++)進行協作時用的也就是native 後的函數的實現不是用java寫的, native的意思就是通知操作系統,這個函數你必須給我實現,因爲我要使用。所以native關鍵字的函數都是操作系統實現的, java只能調用。


與動作相關(10)

package:打包,把java程序寫在一個包中。


import:引入報名,用法: 

a,寫全包名:jsxt.java140.Cat c = new com.bjsxt.java140.Cat

a,引入一個包中的具體某個對象:xt.java140.Cat;

b,引入一個包中的所有象:import com.bjsxt.java140.Cat.*;


throw:拋出用戶自己定義的異常


throws:拋出系統異常


extends:繼承(類繼承類,或接口繼承接口)


implements:實現,通過類來實現接口


this:是指向該對象自身的標示符


super:調用基類的構造函數


instanceof:判斷某個對象是否爲自己所要的對象


new:用於新建一個對象,即類的實例化


其他(5)

true:表示boolean類型的真值


false:表示boolean類型的假值,即不成立的情況


null:表示空值,如果是對象,則表示此對象爲空,如果是數據類型,在表示相應數據類型的默認值,如int的默認值爲0。


goto:C\C++中實現無條件轉向語句,爲了結構化程序設計java中現在一般不用。


const:和const一樣,在Java中,const是作爲保留字以備擴充。可以用final替換const,一般C++中用const,java中用final。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章