溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java的流程控制語句有哪些

發(fā)布時間:2021-10-25 09:41:00 來源:億速云 閱讀:198 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“Java的流程控制語句有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

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

Java的流程控制語句有哪些

1)if 語句

if 語句的格式如下:

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

畫個流程圖表示一下:


Java的流程控制語句有哪些

來寫個示例:

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

輸出:

青春年華

2)if-else 語句

if-else 語句的格式如下:

if(布爾表達式){   // 條件為 true 時執(zhí)行的代碼塊 }else{   // 條件為 false  時執(zhí)行的代碼塊 }

畫個流程圖表示一下:

Java的流程控制語句有哪些

來寫個示例:

public class IfElseExample {     public static void main(String[] args) {         int age = 31;         if (age < 30) {             System.out.println("青春年華");         } else {             System.out.println("而立之年");         }     } }

輸出:

而立之年

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

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

輸出:

閏年

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

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

輸出:

奇數(shù)

3)if-else-if 語句

if-else-if 語句的格式如下:

if(條件1){   // 條件1 為 true 時執(zhí)行的代碼 }else if(條件2){   // 條件2 為 true 時執(zhí)行的代碼 }   else if(條件3){   // 條件3 為 true 時執(zhí)行的代碼 }   ...   else{   // 以上條件均為 false 時執(zhí)行的代碼 }

畫個流程圖表示一下:

Java的流程控制語句有哪些

來寫個示例:

public class IfElseIfExample {     public static void main(String[] args) {         int age = 31;         if (age < 30) {             System.out.println("青春年華");         } else if (age >= 30 && age < 40 ) {             System.out.println("而立之年");         } else if (age >= 40 && age < 50 ) {             System.out.println("不惑之年");         } else {             System.out.println("知天命");         }     } }

輸出:

而立之年

4)if 嵌套語句

if 嵌套語句的格式如下:

if(外側(cè)條件){          // 外側(cè)條件為 true 時執(zhí)行的代碼            if(內(nèi)側(cè)條件){                // 內(nèi)側(cè)條件為 true 時執(zhí)行的代碼     }     }

畫個流程圖表示一下:

Java的流程控制語句有哪些

來寫個示例:

public class NestedIfExample {     public static void main(String[] args) {         int age = 20;         boolean isGirl = true;         if (age >= 20) {             if (isGirl) {                 System.out.println("女生法定結(jié)婚年齡");             }         }     } }

輸出:

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

02、switch 語句

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

來看一下 switch 語句的格式:

switch(變量) {     case 可選值1:      // 可選值1匹配后執(zhí)行的代碼;      break;  // 該關(guān)鍵字是可選項 case 可選值2:      // 可選值2匹配后執(zhí)行的代碼;      break;  // 該關(guān)鍵字是可選項 ......          default: // 該關(guān)鍵字是可選項       // 所有可選值都不匹配后執(zhí)行的代碼  }
  • 變量可以有 1 個或者 N 個值。

  • 值類型必須和變量類型是一致的,并且值是確定的。

  • 值必須是唯一的,不能重復(fù),否則編譯會出錯。

  • break 關(guān)鍵字是可選的,如果沒有,則執(zhí)行下一個 case,如果有,則跳出 switch 語句。

  • default 關(guān)鍵字也是可選的。

畫個流程圖:

Java的流程控制語句有哪些

來個示例:

public class Switch2 {     public static void main(String[] args) {         int age = 20;         switch (age) {             case 20 :                 System.out.println("上學(xué)");                 break;             case 24 :                 System.out.println("蘇州工作");                 break;             case 30 :                 System.out.println("洛陽工作");                 break;             default:                 System.out.println("未知");                 break; // 可省略         }     } }

輸出:

上學(xué)

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

public class Switch3 {     public static void main(String[] args) {         String name = "沉默王二";         switch (name) {             case "詹姆斯":                 System.out.println("籃球運動員");                 break;             case "穆里尼奧":                 System.out.println("足球教練");                 break;             case "沉默王二":             case "沉默王三":                 System.out.println("乒乓球愛好者");                 break;             default:                 throw new IllegalArgumentException(                         "名字沒有匹配項");          }     } }

輸出:

乒乓球愛好者

枚舉作為 switch 語句的變量也很常見,來看例子:

public class SwitchEnumDemo {     public enum PlayerTypes {         TENNIS,         FOOTBALL,         BASKETBALL,         UNKNOWN     }      public static void main(String[] args) {         System.out.println(createPlayer(PlayerTypes.BASKETBALL));     }      private static String createPlayer(PlayerTypes playerType) {         switch (playerType) {             case TENNIS:                 return "網(wǎng)球運動員費德勒";             case FOOTBALL:                 return "足球運動員C羅";             case BASKETBALL:                 return "籃球運動員詹姆斯";             case UNKNOWN:                 throw new IllegalArgumentException("未知");             default:                 throw new IllegalArgumentException(                         "運動員類型: " + playerType);          }     } }

輸出:

籃球運動員詹姆斯

03、for 循環(huán)

Java的流程控制語句有哪些

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

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

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

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

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

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

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

for(初識變量;條件;自增/自減){   // 循環(huán)體 }

畫個流程圖:

Java的流程控制語句有哪些

來個示例:

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

輸出:

沉默王三好美啊 沉默王三好美啊 沉默王三好美啊 沉默王三好美啊 沉默王三好美啊

“哎呀,二哥,你真的是變著法夸我啊?!?/p>

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

“好呀好呀!”

“看好了啊?!?/p>

public class PyramidForExample {     public static void main(String[] args) {         for (int i = 0; i < 5; i++) {             for (int j = 0;j<= i;j++) {                 System.out.print("?");             }             System.out.println();         }     } }

打印出什么玩意呢?

? ?? ??? ???? ?????

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

“嘿嘿?!?/p>

2)for-each

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

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

來看一下示例:

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

輸出:

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

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

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

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

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

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

“來,看看就知道了?!?/p>

public class InfinitiveForExample {     public static void main(String[] args) {         for(;;){             System.out.println("停不下來。。。。");         }     } }

輸出:

停不下來。。。。 停不下來。。。。 停不下來。。。。 停不下來。。。。

一旦運行起來,就停不下來了,除非強制停止。

04、while 循環(huán)

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

while(條件){   //循環(huán)體   }

畫個流程圖:

Java的流程控制語句有哪些

來個示例:

public class WhileExample {     public static void main(String[] args) {         int i = 0;         while (true) {             System.out.println("沉默王三");             i++;             if (i == 5) {                 break;             }         }     } }

“三妹,你猜猜會輸出幾次?”

“五次嗎?”

“對了,你可真聰明。”

沉默王三 沉默王三 沉默王三 沉默王三 沉默王三

“三妹,你想不想體驗一下無限 while 循環(huán)的威力,也就是死循環(huán)?!?/p>

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

“來,看看就知道了?!?/p>

public class InfinitiveWhileExample {     public static void main(String[] args) {         while (true) {             System.out.println("停不下來。。。。");         }     } }

輸出:

停不下來。。。。 停不下來。。。。 停不下來。。。。 停不下來。。。。

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

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

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

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

畫個流程圖:

Java的流程控制語句有哪些

來個示例:

public class DoWhileExample {     public static void main(String[] args) {         int i = 0;         do {             System.out.println("沉默王三");             i++;             if (i == 5) {                 break;             }         } while (true);     } }

“三妹,你猜猜會輸出幾次?”

“五次嗎?”

“對了,你可真聰明。”

沉默王三 沉默王三 沉默王三 沉默王三 沉默王三

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

“二哥,又來啊,我都膩了?!?/p>

“來吧,例行公事,就假裝看看嘛。”

public class InfinitiveDoWhileExample {     public static void main(String[] args) {         do {             System.out.println("停不下來。。。。");         } while (true);     } }

輸出:

停不下來。。。。 停不下來。。。。 停不下來。。。。 停不下來。。。。

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

Java的流程控制語句有哪些

06、break

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

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

來畫個流程圖感受一下:

Java的流程控制語句有哪些

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

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

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

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

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

int i = 1; while (i <= 10) {     if (i == 5) {         i++;         break;     }     System.out.println(i);     i++; }

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

int j = 1; do {     if (j == 5) {          j++;         break;     }     System.out.println(j);     j++; } while (j <= 10);

用在 switch 語句中的示例:

switch (age) {         case 20 :           System.out.println("上學(xué)");           break;         case 24 :           System.out.println("蘇州工作");           break;         case 30 :           System.out.println("洛陽工作");           break;        default:          System.out.println("未知");          break; // 可省略 }

07、continue

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

來個示例:

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

輸出:

1 2 3 4 6 7 8 9 10

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

“那必須滴。不然就是 bug。”

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

public class ContinueInnerDemo {     public static void main(String[] args) {         for (int i = 1; i <= 3; i++) {             for (int j = 1; j <= 3; j++) {                 if (i == 2 && j == 2) {                     //  當(dāng)i=2,j=2時跳過                     continue;                 }                 System.out.println(i + " " + j);             }         }     } }

打印出什么玩意呢?

1 1 1 2 1 3 2 1 2 3 3 1 3 2 3 3

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

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

public class ContinueWhileDemo {     public static void main(String[] args) {         int i = 1;         while (i <= 10) {             if (i == 5) {                 i++;                 continue;             }             System.out.println(i);             i++;         }     } }

輸出:

1 2 3 4 6 7 8 9 10

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

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

public class ContinueDoWhileDemo {     public static void main(String[] args) {         int i=1;         do{             if(i==5){                 i++;                 continue;             }             System.out.println(i);             i++;         }while(i<=10);     } }

輸出:

1 2 3 4 6 7 8 9 10

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

“Java的流程控制語句有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI