日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
教妹學(xué)Java:12張圖帶你徹底了解流程控制語(yǔ)句

同學(xué)們好啊,我是沉默王二,一枚沉默但有趣又帥氣的程序員(聽,是不是一種二哥賣瓜的趕腳)。又到了《教妹學(xué) Java》的時(shí)間,很開心,很期待,很舒適。這是《教妹學(xué) Java》專欄的第 13 篇文章,我們來(lái)談?wù)劇癑ava 中的流程控制語(yǔ)句”。

創(chuàng)新互聯(lián)科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供聯(lián)通機(jī)房服務(wù)器托管,高防服務(wù)器,成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。

強(qiáng)調(diào)一下,《教妹學(xué) Java》面向的是零基礎(chǔ)的 Java 愛好者,我希望能幫助同學(xué)們輕松邁進(jìn)編程世界的大門,為后續(xù)的深入學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。

“二哥,流程控制語(yǔ)句都有哪些呢?”三妹的臉上泛著甜甜的笑容,她開始對(duì)接下來(lái)要學(xué)習(xí)的內(nèi)容充滿期待了,這正是我感到欣慰的地方。

“比如說 if-else、switch、for、while、do-while、return、break、continue 等等,接下來(lái),我們一個(gè)個(gè)來(lái)了解下?!?/p>

01、if-else 相關(guān)

1)if 語(yǔ)句

if 語(yǔ)句的格式如下:

 
 
 
 
  1. if(布爾表達(dá)式){   
  2. // 如果條件為 true,則執(zhí)行這塊代碼 
  3. }  

畫個(gè)流程圖表示一下:

來(lái)寫個(gè)示例:

 
 
 
 
  1. public class IfExample { 
  2.     public static void main(String[] args) { 
  3.         int age = 20; 
  4.         if (age < 30) { 
  5.             System.out.println("青春年華"); 
  6.         } 
  7.     } 

輸出:

 
 
 
 
  1. 青春年華 

2)if-else 語(yǔ)句

if-else 語(yǔ)句的格式如下:

 
 
 
 
  1. if(布爾表達(dá)式){   
  2. // 條件為 true 時(shí)執(zhí)行的代碼塊 
  3. }else{   
  4. // 條件為 false  時(shí)執(zhí)行的代碼塊 
  5. }   

畫個(gè)流程圖表示一下:

來(lái)寫個(gè)示例:

 
 
 
 
  1. public class IfElseExample { 
  2.     public static void main(String[] args) { 
  3.         int age = 31; 
  4.         if (age < 30) { 
  5.             System.out.println("青春年華"); 
  6.         } else { 
  7.             System.out.println("而立之年"); 
  8.         } 
  9.     } 

輸出:

 
 
 
 
  1. 而立之年 

除了這個(gè)例子之外,還有一個(gè)判斷閏年(被 4 整除但不能被 100 整除或者被 400 整除)的例子:

 
 
 
 
  1. public class LeapYear { 
  2.     public static void main(String[] args) { 
  3.         int year = 2020; 
  4.         if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) { 
  5.             System.out.println("閏年"); 
  6.         } else { 
  7.             System.out.println("普通年份"); 
  8.         } 
  9.     } 

輸出:

 
 
 
 
  1. 閏年 

如果執(zhí)行語(yǔ)句比較簡(jiǎn)單的話,可以使用三元運(yùn)算符來(lái)代替 if-else 語(yǔ)句,如果條件為 true,返回 ? 后面 : 前面的值;如果條件為 false,返回 : 后面的值。

 
 
 
 
  1. public class IfElseTernaryExample { 
  2.     public static void main(String[] args) { 
  3.         int num = 13; 
  4.         String result = (num % 2 == 0) ? "偶數(shù)" : "奇數(shù)"; 
  5.         System.out.println(result); 
  6.     } 

輸出:

 
 
 
 
  1. 奇數(shù) 

3)if-else-if 語(yǔ)句

if-else-if 語(yǔ)句的格式如下:

 
 
 
 
  1. if(條件1){   
  2. // 條件1 為 true 時(shí)執(zhí)行的代碼 
  3. }else if(條件2){   
  4. // 條件2 為 true 時(shí)執(zhí)行的代碼 
  5. }   
  6. else if(條件3){   
  7. // 條件3 為 true 時(shí)執(zhí)行的代碼 
  8. }   
  9. ...   
  10. else{   
  11. // 以上條件均為 false 時(shí)執(zhí)行的代碼 
  12. }  

畫個(gè)流程圖表示一下:

來(lái)寫個(gè)示例:

 
 
 
 
  1. public class IfElseIfExample { 
  2.     public static void main(String[] args) { 
  3.         int age = 31; 
  4.         if (age < 30) { 
  5.             System.out.println("青春年華"); 
  6.         } else if (age >= 30 && age < 40 ) { 
  7.             System.out.println("而立之年"); 
  8.         } else if (age >= 40 && age < 50 ) { 
  9.             System.out.println("不惑之年"); 
  10.         } else { 
  11.             System.out.println("知天命"); 
  12.         } 
  13.     } 

輸出:

 
 
 
 
  1. 而立之年 

4)if 嵌套語(yǔ)句

if 嵌套語(yǔ)句的格式如下:

 
 
 
 
  1. if(外側(cè)條件){     
  2.      // 外側(cè)條件為 true 時(shí)執(zhí)行的代碼  
  3.           if(內(nèi)側(cè)條件){   
  4.              // 內(nèi)側(cè)條件為 true 時(shí)執(zhí)行的代碼 
  5.     }     
  6. }   

畫個(gè)流程圖表示一下:

來(lái)寫個(gè)示例:

 
 
 
 
  1. public class NestedIfExample { 
  2.     public static void main(String[] args) { 
  3.         int age = 20; 
  4.         boolean isGirl = true; 
  5.         if (age >= 20) { 
  6.             if (isGirl) { 
  7.                 System.out.println("女生法定結(jié)婚年齡"); 
  8.             } 
  9.         } 
  10.     } 

輸出:

 
 
 
 
  1. 女生法定結(jié)婚年齡 

02、switch 語(yǔ)句

switch 語(yǔ)句用來(lái)判斷變量與多個(gè)值之間的相等性。變量的類型可以是 byte、short、int、long,或者對(duì)應(yīng)的包裝器類型 Byte、Short、Integer、Long,以及字符串和枚舉。

來(lái)看一下 switch 語(yǔ)句的格式:

 
 
 
 
  1. switch(變量) {     
  2. case 可選值1:     
  3.  // 可選值1匹配后執(zhí)行的代碼;     
  4.  break;  // 該關(guān)鍵字是可選項(xiàng) 
  5. case 可選值2:     
  6.  // 可選值2匹配后執(zhí)行的代碼;     
  7.  break;  // 該關(guān)鍵字是可選項(xiàng) 
  8. ......     
  9.      
  10. default: // 該關(guān)鍵字是可選項(xiàng)      
  11.  // 所有可選值都不匹配后執(zhí)行的代碼  
  12. }     
  • 變量可以有 1 個(gè)或者 N 個(gè)值。
  • 值類型必須和變量類型是一致的,并且值是確定的。
  • 值必須是唯一的,不能重復(fù),否則編譯會(huì)出錯(cuò)。
  • break 關(guān)鍵字是可選的,如果沒有,則執(zhí)行下一個(gè) case,如果有,則跳出 switch 語(yǔ)句。
  • default 關(guān)鍵字也是可選的。

畫個(gè)流程圖:

來(lái)個(gè)示例:

 
 
 
 
  1. public class Switch1 { 
  2.     public static void main(String[] args) { 
  3.         int age = 20; 
  4.         switch (age) { 
  5.             case 20 : 
  6.                 System.out.println("上學(xué)"); 
  7.                 break; 
  8.             case 24 : 
  9.                 System.out.println("蘇州工作"); 
  10.                 break; 
  11.             case 30 : 
  12.                 System.out.println("洛陽(yáng)工作"); 
  13.                 break; 
  14.             default: 
  15.                 System.out.println("未知"); 
  16.                 break; // 可省略 
  17.         } 
  18.     } 

輸出:

 
 
 
 
  1. 上學(xué) 

當(dāng)兩個(gè)值要執(zhí)行的代碼相同時(shí),可以把要執(zhí)行的代碼寫在下一個(gè) case 語(yǔ)句中,而上一個(gè) case 語(yǔ)句中什么也沒有,來(lái)看一下示例:

 
 
 
 
  1. public class Switch2 { 
  2.     public static void main(String[] args) { 
  3.         String name = "沉默王二"; 
  4.         switch (name) { 
  5.             case "詹姆斯": 
  6.                 System.out.println("籃球運(yùn)動(dòng)員"); 
  7.                 break; 
  8.             case "穆里尼奧": 
  9.                 System.out.println("足球教練"); 
  10.                 break; 
  11.             case "沉默王二": 
  12.             case "沉默王三": 
  13.                 System.out.println("乒乓球愛好者"); 
  14.                 break; 
  15.             default: 
  16.                 throw new IllegalArgumentException( 
  17.                         "名字沒有匹配項(xiàng)"); 
  18.  
  19.         } 
  20.     } 

輸出:

 
 
 
 
  1. 乒乓球愛好者 

枚舉作為 switch 語(yǔ)句的變量也很常見,來(lái)看例子:

 
 
 
 
  1. public class SwitchEnumDemo { 
  2.     public enum PlayerTypes { 
  3.         TENNIS, 
  4.         FOOTBALL, 
  5.         BASKETBALL, 
  6.         UNKNOWN 
  7.     } 
  8.  
  9.     public static void main(String[] args) { 
  10.         System.out.println(createPlayer(PlayerTypes.BASKETBALL)); 
  11.     } 
  12.  
  13.     private static String createPlayer(PlayerTypes playerType) { 
  14.         switch (playerType) { 
  15.             case TENNIS: 
  16.                 return "網(wǎng)球運(yùn)動(dòng)員費(fèi)德勒"; 
  17.             case FOOTBALL: 
  18.                 return "足球運(yùn)動(dòng)員C羅"; 
  19.             case BASKETBALL: 
  20.                 return "籃球運(yùn)動(dòng)員詹姆斯"; 
  21.             case UNKNOWN: 
  22.                 throw new IllegalArgumentException("未知"); 
  23.             default: 
  24.                 throw new IllegalArgumentException( 
  25.                         "運(yùn)動(dòng)員類型: " + playerType); 
  26.  
  27.         } 
  28.     } 

輸出:

 
 
 
 
  1. 籃球運(yùn)動(dòng)員詹姆斯 

03、for 循環(huán)

1)普通 for 循環(huán)

普通的 for 循環(huán)可以分為 4 個(gè)部分:

1)初始變量:循環(huán)開始執(zhí)行時(shí)的初始條件。

2)條件:循環(huán)每次執(zhí)行時(shí)要判斷的條件,如果為 true,就執(zhí)行循環(huán)體;如果為 false,就跳出循環(huán)。當(dāng)然了,條件是可選的,如果沒有條件,則會(huì)一直循環(huán)。

3)循環(huán)體:循環(huán)每次要執(zhí)行的代碼塊,直到條件變?yōu)?false。

4)自增/自減:初識(shí)變量變化的方式。

來(lái)看一下普通 for 循環(huán)的格式:

 
 
 
 
  1. for(初識(shí)變量;條件;自增/自減){   
  2. // 循環(huán)體 
  3. }   

畫個(gè)流程圖:

來(lái)個(gè)示例:

 
 
 
 
  1. public class ForExample { 
  2.     public static void main(String[] args) { 
  3.         for (int i = 0; i < 5; i++) { 
  4.             System.out.println("沉默王三好美啊"); 
  5.         } 
  6.     } 

輸出:

 
 
 
 
  1. 沉默王三好美啊 
  2. 沉默王三好美啊 
  3. 沉默王三好美啊 
  4. 沉默王三好美啊 
  5. 沉默王三好美啊 

“哎呀,二哥,你真的是變著法夸我啊。”

“非也非也,三妹,你看不出我其實(shí)在夸我自己?jiǎn)?循環(huán)語(yǔ)句還可以嵌套呢,這樣就可以打印出更好玩的呢,你要不要看看?”

“好呀好呀!”

“看好了啊?!?/p>

 
 
 
 
  1. public class PyramidForExample { 
  2.     public static void main(String[] args) { 
  3.         for (int i = 0; i < 5; i++) { 
  4.             for (int j = 0;j<= i;j++) { 
  5.                 System.out.print(""); 
  6.             } 
  7.             System.out.println(); 
  8.         } 
  9.     } 

打印出什么玩意呢?

 
 
 
 
  1.  
  2.  
  3.  
  4.  
  5.  

“哇,太不可思議了,二哥?!?/p>

“嘿嘿?!?/p>

2)for-each

for-each 循環(huán)通常用于遍歷數(shù)組和集合,它的使用規(guī)則比普通的 for 循環(huán)還要簡(jiǎn)單,不需要初始變量,不需要條件,不需要下標(biāo)來(lái)自增或者自減。來(lái)看一下語(yǔ)法:

 
 
 
 
  1. for(元素類型 元素 : 數(shù)組或集合){   
  2. // 要執(zhí)行的代碼 
  3. }   

來(lái)看一下示例:

 
 
 
 
  1. public class ForEachExample { 
  2.     public static void main(String[] args) { 
  3.         String[] strs = {"沉默王二", "一枚有趣的程序員"}; 
  4.  
  5.         for (String str : strs) { 
  6.             System.out.println(str); 
  7.         } 
  8.     } 

輸出:

 
 
 
 
  1. 沉默王二 
  2. 一枚有趣的程序員 

“呀,二哥,你開始王哥賣瓜了啊?!?/p>

“嘿嘿,三妹,你這樣說哥會(huì)臉紅的?!?/p>

3)無(wú)限 for 循環(huán)

“三妹,你想不想體驗(yàn)一下無(wú)限 for 循環(huán)的威力,也就是死循環(huán)。”

“二哥,那會(huì)有什么樣的后果啊?”

“來(lái),看看就知道了?!?/p>

 
 
 
 
  1. public class InfinitiveForExample { 
  2.     public static void main(String[] args) { 
  3.         for(;;){ 
  4.             System.out.println("停不下來(lái)。。。。"); 
  5.         } 
  6.     } 

輸出:

 
 
 
 
  1. 停不下來(lái)。。。。 
  2. 停不下來(lái)。。。。 
  3. 停不下來(lái)。。。。 
  4. 停不下來(lái)。。。。 

一旦運(yùn)行起來(lái),就停不下來(lái)了,除非強(qiáng)制停止。

04、while 循環(huán)

來(lái)看一下 while 循環(huán)的格式:

 
 
 
 
  1. while(條件){   
  2. //循環(huán)體   
  3. }   

畫個(gè)流程圖:

來(lái)個(gè)示例:

 
 
 
 
  1. public class WhileExample { 
  2.     public static void main(String[] args) { 
  3.         int i = 0; 
  4.         while (true) { 
  5.             System.out.println("沉默王三"); 
  6.             i++; 
  7.             if (i == 5) { 
  8.                 break; 
  9.             } 
  10.         } 
  11.     } 

“三妹,你猜猜會(huì)輸出幾次?”

“五次嗎?”

“對(duì)了,你可真聰明。”

 
 
 
 
  1. 沉默王三 
  2. 沉默王三 
  3. 沉默王三 
  4. 沉默王三 
  5. 沉默王三 

“三妹,你想不想體驗(yàn)一下無(wú)限 while 循環(huán)的威力,也就是死循環(huán)。”

“二哥,那會(huì)有什么樣的后果啊?”

“來(lái),看看就知道了?!?/p>

 
 
 
 
  1. public class InfinitiveWhileExample { 
  2.     public static void main(String[] args) { 
  3.         while (true) { 
  4.             System.out.println("停不下來(lái)。。。。"); 
  5.         } 
  6.     } 

輸出:

 
 
 
 
  1. 停不下來(lái)。。。。 
  2. 停不下來(lái)。。。。 
  3. 停不下來(lái)。。。。 
  4. 停不下來(lái)。。。。 

把 while 的條件設(shè)置為 true,并且循環(huán)體中沒有 break 關(guān)鍵字的話,程序一旦運(yùn)行起來(lái),就根本停不下來(lái)了,除非強(qiáng)制停止。

05、do-while 循環(huán)

來(lái)看一下 do-while 循環(huán)的格式:

 
 
 
 
  1. do{   
  2. // 循環(huán)體 
  3. }while(提交);   

畫個(gè)流程圖:

來(lái)個(gè)示例:

 
 
 
 
  1. public class DoWhileExample { 
  2.     public static void main(String[] args) { 
  3.         int i = 0; 
  4.         do { 
  5.             System.out.println("沉默王三"); 
  6.             i++; 
  7.             if (i == 5) { 
  8.                 break; 
  9.             } 
  10.         } while (true); 
  11.     } 

“三妹,你猜猜會(huì)輸出幾次?”

“五次嗎?”

“對(duì)了,你可真聰明。”

 
 
 
 
  1. 沉默王三 
  2. 沉默王三 
  3. 沉默王三 
  4. 沉默王三 
  5. 沉默王三 

“三妹,你想不想體驗(yàn)一下無(wú)限 do-while 循環(huán)的威力......”

“二哥,又來(lái)啊,我都膩了。”

“來(lái)吧,例行公事,就假裝看看嘛?!?/p>

 
 
 
 
  1. public class InfinitiveDoWhileExample { 
  2.     public static void main(String[] args) { 
  3.         do { 
  4.             System.out.println("停不下來(lái)。。。。"); 
  5.         } while (true); 
  6.     } 

輸出:

 
 
 
 
  1. 停不下來(lái)。。。。 
  2. 停不下來(lái)。。。。 
  3. 停不下來(lái)。。。。 
  4. 停不下來(lái)。。。。 

把 do-while 的條件設(shè)置為 true,并且循環(huán)體中沒有 break 關(guān)鍵字的話,程序一旦運(yùn)行起來(lái),就根本停不下來(lái)了,除非強(qiáng)制停止。

06、break

break 關(guān)鍵字通常用于中斷循環(huán)或 switch 語(yǔ)句,它在指定條件下中斷程序的當(dāng)前流程。如果是內(nèi)部循環(huán),則僅中斷內(nèi)部循環(huán)。

可以將 break 關(guān)鍵字用于所有類型循環(huán)語(yǔ)句中,比如說 for 循環(huán)、while 循環(huán),以及 do-while 循環(huán)。

來(lái)畫個(gè)流程圖感受一下:

用在 for 循環(huán)中的示例:

 
 
 
 
  1. for (int i = 1; i <= 10; i++) { 
  2.     if (i == 5) { 
  3.         break; 
  4.     } 
  5.     System.out.println(i); 

用在嵌套 for 循環(huán)中的示例:

 
 
 
 
  1. for (int i = 1; i <= 3; i++) { 
  2.     for (int j = 1; j <= 3; j++) { 
  3.         if (i == 2 && j == 2) { 
  4.             break; 
  5.         } 
  6.         System.out.println(i + " " + j); 
  7.     } 

用在 while 循環(huán)中的示例:

 
 
 
 
  1. int i = 1; 
  2. while (i <= 10) { 
  3.     if (i == 5) { 
  4.         i++; 
  5.         break; 
  6.     } 
  7.     System.out.println(i); 
  8.     i++; 

用在 do-while 循環(huán)中的示例:

 
 
 
 
  1. int j = 1; 
  2. do { 
  3.     if (j == 5) {  
  4.         j++; 
  5.         break; 
  6.     } 
  7.     System.out.println(j); 
  8.     j++; 
  9. } while (j <= 10); 

用在 switch 語(yǔ)句中的示例:

 
 
 
 
  1. switch (age) { 
  2.         case 20 : 
  3.           System.out.println("上學(xué)"); 
  4.           break; 
  5.         case 24 : 
  6.           System.out.println("蘇州工作"); 
  7.           break; 
  8.         case 30 : 
  9.           System.out.println("洛陽(yáng)工作"); 
  10.           break; 
  11.        default: 
  12.          System.out.println("未知"); 
  13.          break; // 可省略 

07、continue

當(dāng)我們需要在 for 循環(huán)或者 (do)while 循環(huán)中立即跳轉(zhuǎn)到下一個(gè)循環(huán)時(shí),就可以使用 continue 關(guān)鍵字,通常用于跳過指定條件下的循環(huán)體,如果循環(huán)是嵌套的,僅跳過當(dāng)前循環(huán)。

來(lái)個(gè)示例:

 
 
 
 
  1. public class ContinueDemo { 
  2.     public static void main(String[] args) { 
  3.         for (int i = 1; i <= 10; i++) { 
  4.             if (i == 5) { 
  5.                 // 使用 continue 關(guān)鍵字 
  6.                 continue;// 5 將會(huì)被跳過 
  7.             } 
  8.             System.out.println(i); 
  9.         } 
  10.     } 

輸出:

 
 
 
 
  1. 10 

“二哥,5 真的被跳過了呀?!?/p>

“那必須滴。不然就是 bug?!?/p>

再來(lái)個(gè)循環(huán)嵌套的例子。

 
 
 
 
  1. public class ContinueInnerDemo { 
  2.     public static void main(String[] args) { 
  3.         for (int i = 1; i <= 3; i++) { 
  4.             for (int j = 1; j <= 3; j++) { 
  5.                 if (i == 2 && j == 2) { 
  6.                     //  當(dāng)i=2,j=2時(shí)跳過 
  7.                     continue; 
  8.                 } 
  9.                 System.out.println(i + " " + j); 
  10.             } 
  11.         } 
  12.     } 

打印出什么玩意呢?

 
 
 
 
  1. 1 1 
  2. 1 2 
  3. 1 3 
  4. 2 1 
  5. 2 3 
  6. 3 1 
  7. 3 2 
  8. 3 3 

“2 2” 沒有輸出,被跳過了。

再來(lái)看一下 while 循環(huán)時(shí) continue 的使用示例:

 
 
 
 
  1. public class ContinueWhileDemo { 
  2.     public static void main(String[] args) { 
  3.         int i = 1; 
  4.         while (i <= 10) { 
  5.             if (i == 5) { 
  6.                 i++; 
  7.                 continue; 
  8.             } 
  9.             System.out.println(i); 
  10.             i++; 
  11.         } 
  12.     } 

輸出:

 
 
 
 
  1. 10 

注意:如果把 if 條件中的“i++”省略掉的話,程序就會(huì)進(jìn)入死循環(huán),一直在 continue。

最后,再來(lái)看一下 do-while 循環(huán)時(shí) continue 的使用示例:

 
 
 
 
  1. public class ContinueDoWhileDemo { 
  2.     public static void main(String[] args) { 
  3.         int i=1; 
  4.         do{ 
  5.             if(i==5){ 
  6.                 i++; 
  7.                 continue; 
  8.             } 
  9.             System.out.println(i); 
  10.             i++; 
  11.         }while(i<=10); 
  12.     } 

輸出:

 
 
 
 
  1. 10 

注意:同樣的,如果把 if 條件中的“i++”省略掉的話,程序就會(huì)進(jìn)入死循環(huán),一直在 continue。

“好了,三妹,關(guān)于 Java 中的流程控制語(yǔ)句就先說這么多吧。”轉(zhuǎn)動(dòng)了一下僵硬的脖子后,我對(duì)三妹說。

“二哥,你辛苦了,容我好好消化一下?!?/p>

本文轉(zhuǎn)載自微信公眾號(hào)「沉默王二」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系沉默王二公眾號(hào)。


文章標(biāo)題:教妹學(xué)Java:12張圖帶你徹底了解流程控制語(yǔ)句
鏈接分享:http://www.dlmjj.cn/article/dpiipoc.html