您現在的位置是:首頁 > 人文

Java程式設計中的switch開關語句

由 李興華java2python 發表于 人文2023-01-01
簡介如果現在在編寫語句的過程裡面沒有使用break,那麼會在第一個匹配的case之後所有的case都會執行,一直遇見到下一個break斷開

switch語句屬於什麼語句

Java程式設計中的switch開關語句

switch是一個開關語句,在switch之中它所能夠判斷的資料型別僅僅是:

整數

、字元、JDK1。5之後追加了

列舉

,JDK1。7之後追加了String的判斷支援,如果要想使用switch必須結合case、default(不是必須的)來一起使用,其基本的語法結構如下:

switch (整數 | 字元 | 列舉 | String) {

case 匹配內容:

內容滿足時執行的語句 ;

[break ;]

case 匹配內容: {

內容滿足時執行的語句 ;

[break ;]

}, 。。。 [

default: {

內容都不滿足時執行 ;

[break ;]

}]

}

對於switch來講一定要記住,它無法像if語句那樣使用邏輯表示式進行判斷,僅僅支援數值的操作。

範例:

觀察switch語句

public class YootkDemo {

public static void main(String args[]) {

int ch = 1 ; // 定義整型變數

switch(ch) {

case 1:

System。out。println(“【1】匹配的數字“1””) ;

break ;

case 2:

System。out。println(“【2】匹配的數字“2””) ;

break ;

default:

System。out。println(“【NO】無法匹配的內容”) ;

break ;

}

}

}

以上的程式的處理結構是在實際的開發之中使用switch最為常見的結構形式,但是在使用的過程之中,也有可能出現一些認識上的問題,導致最終程式的執行結果與預期有所差別,下面針對於switch中出現一些情況進行說明。

1、 在編寫switch語句的過程之中每一個case語句中都會包含有一個“break”,這個語句的含義是阻止其他的判斷。如果現在在編寫語句的過程裡面沒有使用break,那麼會在第一個匹配的case之後所有的case都會執行,一直遇見到下一個break斷開。

範例:

觀察沒有break定義

public class YootkDemo {

public static void main(String args[]) {

int ch = 1 ; // 定義整型變數

switch(ch) {

case 1: // 這個位置開始匹配

System。out。println(“【1】匹配的數字“1””) ;

case 2:

System。out。println(“【2】匹配的數字“2””) ;

break ;

default:

System。out。println(“【NO】無法匹配的內容”) ;

}

}

}

如果不想造成最終判斷的錯誤的話,那麼一定要在程式之中編寫好break語句。

2、 在使用switch進行判斷的過程之中,不一定按照順序編寫case語句。

範例:

採用非有序的模式定義case語句

public class YootkDemo {

public static void main(String args[]) {

int ch = 1 ; // 定義整型變數

switch(ch) {

default:

System。out。println(“【NO】無法匹配的內容”) ;

break ;

case 2:

System。out。println(“【2】匹配的數字“2””) ;

break ;

case 1:

System。out。println(“【1】匹配的數字“1””) ;

break ;

}

}

}

3、 在早期的switch語句結構之中,除了數字之外最主要的支援就是字元了(因為字元可以和整型自動互相轉換)

public class YootkDemo {

public static void main(String args[]) {

char choose = ‘a’ ; // 小寫字母

switch(choose) {

default:

System。out。println(“【NO】無法匹配的內容”) ;

break ;

case ‘A’:

System。out。println(“【A】匹配的字母“A””) ;

break ;

case ‘a’:

System。out。println(“【a】匹配的字母“a””) ;

break ;

}

}

}

以上的這些做法都是switch最為傳統的使用形式,但是在JDK 1。7之後(是Oracle收購SUN之後的第一個版本)支援有String的判斷,但是僅僅是進行完整的判斷。

範例:

在switch語句之中使用String

public class YootkDemo {

public static void main(String args[]) {

String message = “沐言優拓” ;

switch (message) {

case “yootk”:

System。out。println(“【yootk】www。yootk。com”) ;

break ;

case “沐言優拓”:

System。out。println(“【沐言優拓】爆可愛的小李老師!”) ;

break ;

default:

System。out。println(“【NOTHING】請說人話”) ;

break ;

}

}

}

一定需要注意的是,這種字串與switch的結合匹配主要使用的形式是全匹配。

推薦文章