三種循環結構語句
1.for循環
格式:
for(初始化語句1; 判斷語句2; 步進語句3){
循環代碼4
}
- 1
- 2
- 3
- 4
執行流程:
先執行1初始化語句
執行2判斷語句,如果判斷結果是true
執行4循環代碼
執行3步進語句
繼續回到2 4 3 2 4 3
如果判斷結果是false,代表循環結束
注意:
初始化語句只在第一次循環中執行,之后不再執行
代碼
public static void main(String[] args) { /* 判斷0-10的奇偶數 */ //偶數:能夠被2整除的數字稱為偶數 // 0 是一個特殊的偶數 for(int i=0;i<=10;i++){ if (i%2 == 0){ System.out.println(i+"是偶數"); }else { System.out.println(i+"是奇數"); } } }
console
0是偶數
1是奇數
2是偶數
3是奇數
4是偶數
5是奇數
6是偶數
7是奇數
8是偶數
9是奇數
10是偶數
2.while循環
格式:
初始化語句1;
while(判斷語句2){
循環代碼3;
步進語句4;
}
執行流程:
1 初始化語句
2 執行判斷語句,如果是true就執行大括號里面的代碼,如果是false就結束循環
3 循環代碼
4 步進語句
再次循環執行2判斷語句
- 1
- 2
- 3
- 4
- 5
- 6
- 7
代碼
public static void main(String[] args) { /* 求1-100的累加和 */ int x = 1; int sum = 0; while (x<=100){ sum += x; x++; } System.out.println("1-100的累加和為:"+sum); }
console
1-100的累加和為:5050
- 1
3.do-while循環
格式:
初始化語句1;
do{
循環語句2;
步進語句3;
}while(判斷語句4);
- 1
- 2
- 3
- 4
- 5
- 6
執行流程:
1 初始化語句
2 循環語句
3 步進語句
4 判斷語句 , 如果判斷的結果是true就繼續循環,如果判斷的結果是false就結束循環
注意:
do-while循環是先執行后判斷,不管條件是否滿足至少執行一次
- 1
- 2
- 3
- 4
- 5
- 6
- 7
代碼
public static void main(String[] args) { /* 輸出1-10的和 */ int a = 1; int sum = 0; do { sum += a; a++; }while (a<=10); System.out.println("1-10的和為:"+sum); }
console
1-10的和為:55
三種循環的使用場景
三種循環結構均可實現相應的功能,按照實際需要選擇更為簡便的形式。以下為使用場景的總結:
1.明確循環次數的時候:建議使用for循環
2.不明確循環次數的時候:建議使用while循環
3.do...while循環比較特殊,它先執行循環體,然后根據判斷條件決定是否再次執行循環,即do...while至少執行一次循環
循環嵌套
代碼1
public static void main(String[] args) { /* 循環嵌套: 外層循環執行1次,內存循環執行一圈 */ /* 循環出從0點0分-23點59分 */ //遍歷小時 for (int i=0; i<24; i++){ //遍歷分鍾 for (int j=0; j<60; j++){ System.out.println(i + "點" + j + "分"); } }
console
0點0分
0點1分
0點2分
... 23點57分 23點58分 23點59分
代碼2
public static void main(String[] args) { for (int i = 1; i < 10; i++) { System.out.println("你是第" + i + "位顧客"); while (true) { System.out.println("請選擇你想要購買的商品:1.水果 2.蔬菜 3.飲料 4.結束購買"); Scanner sc = new Scanner(System.in); int a = sc.nextInt(); if (a == 1) { System.out.println("您購買的是水果"); } else if (a == 2) { System.out.println("你購買的是蔬菜"); } else if (a == 3) { System.out.println("您購買的是飲品"); } else if (a == 4) { break; } else { System.out.println("您輸入的指令有錯誤"); } } } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
console
你是第1位顧客
請選擇你想要購買的商品:1.水果 2.蔬菜 3.飲料 4.結束購買
1
您購買的是水果
請選擇你想要購買的商品:1.水果 2.蔬菜 3.飲料 4.結束購買
2
你購買的是蔬菜
請選擇你想要購買的商品:1.水果 2.蔬菜 3.飲料 4.結束購買
4
你是第2位顧客
請選擇你想要購買的商品:1.水果 2.蔬菜 3.飲料 4.結束購買
3
您購買的是飲品
請選擇你想要購買的商品:1.水果 2.蔬菜 3.飲料 4.結束購買
4
你是第3位顧客
請選擇你想要購買的商品:1.水果 2.蔬菜 3.飲料 4.結束購買
2
你購買的是蔬菜
請選擇你想要購買的商品:1.水果 2.蔬菜 3.飲料 4.結束購買
... 你是第9位顧客 請選擇你想要購買的商品:1.水果 2.蔬菜 3.飲料 4.結束購買 2 你購買的是蔬菜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
兩種死循環的寫法
1.while(true){...}
2.for(;;){...}