1、While循環:
?
例1:
package cn.ensource.loop;public class WhileDemo3 {public static void main(String[] args) {// 目標:掌握while循環的書寫格式,以及理解其執行流程// 需求:打印多行Hello Worldint i = 0;while (i < 5) {System.out.println("Hello World");i++;}}
}
注意:其中i++的迭代語句,我們不要忘記了,不然這個循環是一個死循環。
while循環和for循環有什么區別?什么時候是for,什么時候用while?
功能上是完全一樣,for能解決的問題,while也能解決,反之亦然。
使用規范:知道循環幾次,使用for;不知道循環幾次建議使用while。while循環可以用于不確定循環次數的情況。
while循環案例:
需求:世界最高山峰是珠穆朗瑪峰(8844.43米=8844430毫米),假如我有一張足夠大的紙,它的厚度是0.1毫米。請問,我折疊多少次,可以折成珠穆朗瑪峰的高度?
package cn.ensource.loop;public class WhileDemo3 {public static void main(String[] args) {// while案例double paper_thickness = 0.1; // 紙張厚度double height_zhufeng = 8848860; //珠峰高度int counter = 0; //紙張折疊次數while(height_zhufeng > paper_thickness) {paper_thickness *= 2; // 紙張折疊一次,厚度就是原來的兩倍counter++;}System.out.println("紙張折疊次數: " + counter);}
}
設置斷點進行調試:
package cn.ensource.loop;public class WhileDemo3 {public static void main(String[] args) {// while案例double paper_thickness = 0.1; // 紙張厚度double height_zhufeng = 8848860; //珠峰高度int counter = 0; //紙張折疊次數while(height_zhufeng > paper_thickness) {paper_thickness *= 2; // 紙張折疊一次,厚度就是原來的兩倍counter++;}System.out.println("紙張折疊次數: " + counter);System.out.println("最終紙張的厚度: " + paper_thickness);}
}
我們也能算出最終紙張的厚度:
使用規范:如果一開始不知道循環次數的情況下,建議使用while循環解決更專業。一開始就知道循環幾次的情況下,使用for循環解決更專業。
?do-while循環:
例:
package cn.ensource.loop;public class DoWhileDemo4 {public static void main(String[] args) {// 目標:掌握do-while語句的書寫格式、執行流程、應用場景// 打印多行Hello Worldint i = 1;do {System.out.println("Hello World");i++;} while( i <= 3);}
}
do-while的特點:先執行后判斷。
package cn.ensource.loop;public class DoWhileDemo4 {public static void main(String[] args) {// 目標:掌握do-while語句的書寫格式、執行流程、應用場景do {System.out.println("Hello World");} while(false);}
}
直接循環條件為false,我們可以看到還是打印了一次Hello World語句。先執行的打印語句,然后再進行判斷。
do-while循環應用場景案例:
刷票系統。
for循環和while循環的其他區別:
在for循環中,控制循環的變量只能在循環中使用。
while循環中,控制循環的變量在循環后還是可以繼續使用。
可以將for循環中的控制循環的變量拿出來放到外邊。
package cn.ensource.loop;public class DoWhileDemo4 {public static void main(String[] args) {// 目標:掌握do-while語句的書寫格式、執行流程、應用場景int n = 0;while (n < 10) {System.out.println("Hello World");n++;}System.out.println(n);}
}
注意:這個n的最終值是10, 這是這段代碼的特點。
?