1、While循环:
例1:
package cn.ensource.loop;
public class WhileDemo3 {
public static void main(String[] args) {
// 目标:掌握while循环的书写格式,以及理解其执行流程
// 需求:打印多行Hello World
int 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 World
int 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, 这是这段代码的特点。