您好,登錄后才能下訂單哦!
這篇文章主要介紹Java流程控制之選擇結(jié)構(gòu)的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
布爾表達(dá)式:
布爾表達(dá)式(Boolean expression)
是一段代碼聲明,它最終只有true
(真)和false
(假)兩個(gè)取值。
最簡(jiǎn)單的布爾表達(dá)式是等式(equality
),這種布爾表達(dá)式用來測(cè)試一個(gè)值是否與另一個(gè)值相同。 例如:
2 == 4 ? --------------> false
我們平常經(jīng)常會(huì)面臨選擇,所以選擇結(jié)構(gòu)對(duì)于我們編程來說也是非常重要的,比如:
如果明天晴天,我們就一起去草場(chǎng)放風(fēng)箏;
如圖:
if(布爾表達(dá)式){ //如果布爾表達(dá)式為true將執(zhí)行的語句 }
注意:if單選擇結(jié)構(gòu):if語句對(duì)條件表達(dá)式進(jìn)行一次判斷,若判斷為真,則執(zhí)行下面的語句,否則跳過該語句。
實(shí)例助解:接收一個(gè)用戶的輸入,判斷輸入的是否為字符串"Liusu":
import java.util.Scanner; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //接收用戶輸入 System.out.print("請(qǐng)輸入內(nèi)容:"); String s = scanner.nextLine(); if (s.equals("Liusu")){ System.out.println("輸入的是:"+s); } System.out.println("End"); scanner.close(); }
輸出演示,如圖:
注釋:equals方法是用來進(jìn)行字符串的比較的
比如你去買鍵盤,鍵盤108元。如果你身上當(dāng)時(shí)帶有金額大于等于108元,那買鍵盤,否則,不買。(僅舉例)
所以對(duì)于這樣的需求用一個(gè)if就搞不定了,我們需要有兩個(gè)判斷,需要一個(gè)雙選擇結(jié)構(gòu),所以就有了if-else結(jié)構(gòu)。
如圖:
if(布爾表達(dá)式){ //如果布爾表達(dá)式的值為true }else{ //如果布爾表達(dá)式的值為false }
if雙選擇結(jié)構(gòu):當(dāng)條件表達(dá)式為真時(shí),執(zhí)行語句塊1,否則,執(zhí)行語句塊2。也就是else部分。
實(shí)例助解:你去買鍵盤,鍵盤108元。如果你身上當(dāng)時(shí)帶有金額大于等于108元,那買鍵盤,否則,不買。
import java.util.Scanner; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("請(qǐng)輸入x值:"); int x = scanner.nextInt(); if (x>=108){ System.out.println("鍵盤"); }else { System.out.println("余額正在加載中..."); } scanner.close(); }
輸出演示,如圖:
真實(shí)的情況還可能存在很多種,存在區(qū)間多級(jí)判斷。在生活中我們很多時(shí)候的選擇也不僅僅只有兩個(gè),所以我們需要一個(gè)多選擇結(jié)構(gòu)來處理這類問題!
如圖:
if(布爾表達(dá)式 1){ //如果布爾表達(dá)式 1的值為true執(zhí)行代碼 }else if(布爾表達(dá)式 2){ //如果布爾表達(dá)式 2的值為true執(zhí)行代碼 }else if(布爾表達(dá)式 3){ //如果布爾表達(dá)式 3的值為true執(zhí)行代碼 }else { //如果以上布爾表達(dá)式都不為true執(zhí)行代碼 }
if多選擇結(jié)構(gòu):if 語句后面可以跟 else if…else 語句,可以判斷多種情況。
使用 if,else if,else 語句的時(shí)候,需要注意下面幾點(diǎn):
if 語句至多有 1 個(gè) else 語句。
if 語句可以有若干個(gè) else if 語句。
else if在else之前
一個(gè) else if 語句檢測(cè)為 true,其他的 else if 、 else 語句都將跳過執(zhí)行。
實(shí)例助解:簡(jiǎn)單的數(shù)值判斷
public class Test { public static void main(String args[]){ int x = 66; if( x == 22 ){ System.out.print("x:22"); }else if( x == 44 ){ System.out.print("x:44"); }else if( x == 66 ){ System.out.print("x:66"); }else{ System.out.print("看來您的選擇不在選項(xiàng)當(dāng)中..."); } } }
輸出演示,如圖:
注意:嵌套的 if…else
語句也是可以的。所有的流程控制語句都可以互相嵌套,互不影響!
if(布爾表達(dá)式 1){ 如果布爾表達(dá)式 1的值為true執(zhí)行代碼 if(布爾表達(dá)式 2){ 如果布爾表達(dá)式 2的值為true執(zhí)行代碼 } }
實(shí)例助解:判斷x
public static void main(String args[]){ int x = 66; if( x > 22 ){ System.out.println("x>22"); if(x > 44){ System.out.println("x>44"); } } }
輸出演示,如圖:
多選擇結(jié)構(gòu)還有一個(gè)實(shí)現(xiàn)方式就是switch case
語句。switch case
語句判斷一個(gè)變量與一系列值中某個(gè)值是否相等,每個(gè)值稱為一個(gè)分支。
switch(expression){ case value : //語句 break; //可選 case value : //語句 break; //可選 //case... default : //可選 //語句 }
switch case 語句有如下規(guī)則:
switch
語句中的變量類型可以是: byte
、short
、int
、char
、字符串 String
類型。
switch
語句可以擁有多個(gè) case 語句。
case
語句中的值的數(shù)據(jù)類型必須與變量的數(shù)據(jù)類型相同,而且只能是常量或者字面常量。
注意:當(dāng)變量的值與 case 語句的值相等時(shí),那么 case 語句之后的語句開始執(zhí)行,直到 break 語句出現(xiàn)才會(huì)跳出 switch 語句。(break語句非必須)
關(guān)于switch中default:
switch
語句可以包含一個(gè) default
分支------->最后一個(gè)分支(可以在任何位置,但建議在最后一個(gè))。
default 在沒有 case 語句的值和變量值相等的時(shí)候執(zhí)行。
default 分支不需要 break 語句。
實(shí)例助解:
public static void main(String args[]){ char grade = 'C'; switch(grade) { case 'A' : System.out.println("優(yōu)秀"); break; case 'B' : case 'C' : System.out.println("良好"); break; case 'D' : System.out.println("及格"); break; case 'F' : System.out.println("謝謝參與!加油!"); break; default : System.out.println("您的等級(jí)已不在該范圍內(nèi)..."); } System.out.println("你的等級(jí)是 " + grade); }
輸出演示,如圖:
如果 case 語句塊中沒有 break 語句時(shí),匹配成功后,從當(dāng)前 case 開始,后續(xù)所有 case 的值都會(huì)輸
出。如果后續(xù)的 case 語句塊有 break 語句則會(huì)跳出判斷。
public static void main(String args[]){ int i = 4; switch(i){ case 0: System.out.println("0"); case 1: System.out.println("1"); case 2: System.out.println("2"); case 3: System.out.println("3"); case 4: System.out.println("4"); case 5: System.out.println("5"); break; default: System.out.println("default"); } }
輸出演示,如圖:
以上是“Java流程控制之選擇結(jié)構(gòu)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。