Java學習——迴圈結構(for迴圈、while迴圈和do...while迴圈)
阿新 • • 發佈:2018-11-29
一、for迴圈
格式:
for(初始化表示式語句;判斷條件語句;控制條件語句){
迴圈體語句;
}
執行流程:
a:執行初始化表示式語句
b:執行判斷條件語句,看其返回值是true還是false
如果是true,就繼續執行
如果是false,就結束迴圈
c:執行迴圈體語句;
d:執行控制條件語句
e:回到b繼續。
下面是四個例子,對了理解for迴圈有很大作用。
eg1
public class For0 { public static void main(String[] args) { for (int i = 0; i <= 10; i++) { System.out.println("倩倩是個乖寶寶"); } } }
eg2
public class For1 { public static void main(String[] args) { /*A: 案例演示 需求:請在控制檯輸出資料1 - 10 需求:請在控制檯輸出資料10 - 1*/ for (int i = 1; i <= 10; i++) { System.out.println(i); } System.out.println("--------------------------"); for (int j = 10; j >= 1; j--) { System.out.println(j); } } }
eg3
public class For2 { public static void main(String[] args) { // 需求:求出1 - 10 之間資料之和 int i; int sum = 0; for (i = 1; i <= 10; i++) { sum += i; } System.out.println("和是" + sum); // 需求:求出1 - 100 之間偶數和 // 需求:求出1 - 100 之間奇數和 int ji = 0; int ou = 0; for (i = 1; i <= 100; i++) { if (i % 2 == 0) { ou += i; } else { ji += i; } } System.out.println("偶數和是" + ou); System.out.println("奇數和是" + ji); } }
eg4
public class For3 {
/* 需求:在控制檯輸出所有的”水仙花數”
所謂的水仙花數是指一個三位數,其各位數字的立方和等於該數本身。
舉例:153 就是一個水仙花數。
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 = 1 + 125 + 27 = 153
思路:1.採用迴圈
定義一個統計變數*/
public static void main(String[] args) {
int s = 0;
for (int i = 100; i <= 1000; i++) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100 % 10;
int flower = ge * ge * ge + shi * shi * shi + bai * bai * bai;
if (i == flower && i>100) {
s++;
System.out.println("第"+ s +"個水仙花數是 " +i );
}
}
System.out.println("number = "+s);
}
}
二、while迴圈
格式:
初始化條件語句;
while(判斷條件語句){
迴圈體語句;
控制條件語句;
}
執行流程:
a:執行初始化條件語句;
b:執行判斷條件語句,看其返回值是true還是false
如果是true,就繼續執行
如果是false,就結束迴圈
c:執行迴圈體語句;
d:執行控制條件語句
e:回到b繼續。
eg`
public class While {
public static void main(String[] args){
// 輸出1-10;
// 輸出1-100之間的偶數和
int i=1;
while(i<=10){
System.out.println(i);
i++;
}
System.out.println("----------------------");
int j=1;
int sum=0;
while(j<=100){
if(j%2==0) {
sum += j;
}
j++;
}
System.out.println(sum);
}
}
三、do…while迴圈
格式:
初始化條件語句;
do {
迴圈體語句;
控制條件語句;
}while(判斷條件語句);
執行流程:
a:執行初始化條件語句;
b:執行迴圈體語句;
c:執行控制條件語句;
d:執行判斷條件語句,看其返回值是true還是false
如果是true,就繼續執行
如果是false,就結束迴圈
e:回到b繼續。
eg
public class DoWhile {
public static void main(String[] args){
int i=1;
do{
System.out.println("倩倩是個寶寶");
i++;
} while(i<=10);
}
}
四、三種迴圈的區別
a:do…while迴圈至少執行一次迴圈體。
而for,while迴圈必須先判斷條件是否成立,然後決定是否執行迴圈體語句。
b:A: 如果你想在迴圈結束後,繼續使用控制條件的那個變數,用while迴圈,否則用for迴圈。不知道用for迴圈。因為變數及早的從記憶體中消失,可以提高記憶體的使用效率。
B:建議優先考慮for迴圈,然後是while迴圈 ,最後是do…while迴圈