Java 迴圈 for while do {...} while (...)
阿新 • • 發佈:2022-04-13
迴圈控制
迴圈是程式組成的一個關鍵要素,迴圈就是讓一句程式碼按照你的要求迴圈執行。
在Java
中共有三種迴圈語句, 分別是:
-
for
迴圈 -
while
迴圈 do {...} while (...);
for 迴圈
語法:
for (初始化條件 ; 迴圈條件 ; 迴圈變數迭代) {
迴圈操作(支援多語句);
迴圈操作(支援多語句);
迴圈操作(支援多語句);
}
for
說明:
-
for
是關鍵字,表示迴圈控制 -
for
有四個要素:- 迴圈變數的初始化
- 迴圈條件
- 迴圈操作
- 迴圈變數迭代
- 迴圈操作可以有多條語句,也就是我們要迴圈執行的程式碼
- 如果迴圈操作只有一條語句,可以省略
{}
for
細節:
- 迴圈條件是返回一個布林值的表示式
-
for (; 迴圈判斷條件 ;)
中的初始化和變數迭代可以寫到其他地方,但是兩邊的;
不能省略 - 迴圈初始值可以有很多條初始值語句,但要求型別一樣,並且中間用
,
隔開,迴圈變數迭代也可以有多條變數迭代語句,不同語句間同樣需要用,
隔開
各種寫法:
public class Java_20_ForDetail { public static void main (String[] args) { // for 的多種寫法 // 常規寫法 for (int i = 0 ; i < 5 ; i++ ) { System.out.println(i); } System.out.println("======================================="); // 變數 及 變數迭代 在外寫法 int i = 0; for (; i < 5 ;) { System.out.println(i); i++; } System.out.println("======================================="); int count = 0; // 作為無限迴圈的出口計數器 // 死迴圈寫法 for (;;) { // 這種寫法是在不知道具體迴圈次數的時候 // 配合 判斷分支 一直迴圈 直到滿足推出條件 執行 break 結束迴圈 // 迴圈必須擁有一個出口,不能出現死迴圈的情況 if (4 < count) break; System.out.println("死迴圈中" + count); // 給計數器 +1 count++; } System.out.println("======================================="); // 多語句寫法 for (int count1 = 0, count2 = 8; count1 < count2; count1 += 2, count2++) { System.out.println("count1 = " + count1 + " count2 = " + count2); } } }
實際應用:
public class ForExercise { public static void main (String[] args) { // 需求,列印 1-100之間是9的倍數的整數,統計個數,及總和 // 建立變數統計個數 及 總和 int count = 0; int sum_ = 0; // 開始迴圈 for (int num = 1; num <= 100; num++) { // 取餘 int surplus = num % 9; switch (surplus) { // 因為 滿足 switch 的型別需求 且需判斷的值不多,所以使用 switch case 0: // 滿足條件, 給計數器 +1 累加 總和 count += 1; sum_ += num; System.out.println("Multiples of 9: " + num); } } System.out.println("9 的倍數的整數有 " + count + " 個 總和是: " + sum_);
while迴圈
語法:
// 迴圈變數初始化
int count = 1; // 也可以理解為計數器
while (count <= 10) { // 一直迴圈,直到 count 大於 10 結束迴圈
要迴圈執行的語句;
// 迴圈變數迭代
count++; // 也可以理解為計數器 +1
}
while
說明:
-
while
是關鍵字表示迴圈 -
while
同樣有四要素,只是四要素的放置位置與for
有區別,不過原理都是一樣的(可以理解為上面for
迴圈的變數 及 變數迭代 在外寫法) -
while
是先判斷,再執行
實際應用:
// while 實際應用
// 列印 1-100 之間所有能被3整除的數
// 定義迴圈起始值
int start_num = 1;
// 定義倍率關係變數
int mag = 3;
// 定義迴圈結束值
int end_num = 100;
// 開始定義迴圈條件
while (start_num <= end_num) { // 當 起始值 小於或等於 結束值 就會進入迴圈體
int while_result = start_num % mag;
switch (while_result) {
case 0:
System.out.println(start_num);
}
// 迴圈變數迭代
start_num++;
do..while
基本語法:
迴圈變數初始化;
do {
迴圈執行的語句;
迴圈變數迭代;
} while (迴圈條件);
do...while
說明
-
do {...} while (...);
是關鍵字 - 和上面的
for
while
迴圈一樣,都有四要素, 只是執行順序不一樣 -
do while
是先執行, 再判斷 (也就是說 至少會執行一次)
實際應用:
//統計 1-200之間能被 5 整除但 不能被 3 整除的個數
// 定義 迴圈 初始/結束 值
int do_start = 1;
int do_end = 200;
// 定義累加計數器
int do_count = 0;
// 定義整除變數
int mag1 = 5, mag2 = 3;
do {
if ((do_start % mag1 == 0) && (do_start % mag2 != 0)) {
// 滿足條件計數器 +1
do_count += 1;
}
// 迴圈變數迭代
do_start++;
} while (do_start <= do_end);
// 列印結果
System.out.println("能被 5 整除但 不能被 3 整除的個數是: " + do_count);