java中switch語句的用法

2021-08-08 23:34:17 字數 1668 閱讀 7756

首先介紹一下switch語句的格式:

switch(需要判斷的表示式)

1,需要判斷的表示式

可能聽的比較多的是:只能是整形或字元型。

但switch中需要判斷的表示式的型別,其實不只是整形或字元型。

注意:switch中需要判斷的表示式的型別 可以是int, short ,byte,char,string,列舉。

由於byte,short,char都可以隱式轉換為int型,所以這些型別及其包裝型別也是可以的。switch string的支援從jdk1.7版本開始,是背後做了乙個轉換,用雜湊碼進行比較,而雜湊碼是整形的值。

注意:switch語句無法作用在float,double,long以及他們的包裝型別上。編譯時會提示出錯。

下面以string和int的包裝類integer為例:

public

class j_02

system.out.println("jg1:"+jg);

integer i=new integer(5);

switch(i)

system.out.println("jg2:"+jg);}}

執行結果:

2,default不是必須的,可寫可不寫,位置隨意,根據個人需要而定。如果放在case語句之前記得加上break ,否則會繼續執行default語句之後的語句,不管case的條件是否滿足,都會執行,因為他會把這個條件當成之前滿足的那個條件中的內容,所以直到遇到break才會退出,終止這個條件。

例如:

double a=1,b=2,jg=0;

integer i=new integer(5);

switch(i)

system.out.println("jg2:"+jg);

則會向下執行:jg=a+b;遇到break後跳出switch語句。

3,case後必須要跟常量!常量即不能改變的量。如:字元,字串,數字。

也可以是用final修飾的變數,因為用final修飾後就不能再改變啦!

例如:

final

int f=5;

integer i=new integer(5);

switch(i)

注意case後所跟的常量型別要和表示式的結果型別一致。

4,break。不加break會執行switch語句中當前語句之後的語句,直到遇到break或所有條件都不滿足之後跳出switch語句。

思考題:

以下**執行時得到什麼列印結果?

int i = 4;

switch (i) {

default:

system.out.println(「default」);

case 0:

system.out.println(「zero」);

break;

case 1:

system.out.println(「one」);

case 2:

system.out.println(「two」);

//default

zero

java中的switch語句

選擇語句 switch語句 編寫格式 switch 表示式 執行流程 表示式和case後面的常量進行比較 和哪個常量相同,就執行哪個case後面的程式,遇到break,就全部結束 關鍵字 swidth case default break switch語句中表示式的資料型別,根據不同的jdk版本,有...

java中的switch語句面試相關

switch的簡單寫法 switch a 首先,a部分值必須是int型的,或者是能夠自動進行轉換成int型的表示式。也就是說a部分可以是 byte short char int型的。其次,b部分的值必須是單個byte short char int型的值,或者是final型的變數。但是final型的變...

java的switch語句問題

switch引數為int,char等基本型別,case後直接跟常數 public static void fun int s switch引數為enum型別,case後面跟的要省去類名 enum type public static void fun type type switch引數為strin...