问:while循环格式,执行流程是什么样的?
循环格式如下:
初始化语句;
while(循环条件){
循环体语句;
迭代语句;
}
代码演示如下:
public class WhileTest {
public static void main(String[] args) {
int i = 0;
while (i<3){
System.out.println("HelloWorld!");
i++;
}
}
}
问:什么时候用for循环,什么时候用while循环?
- 功能上是完全一样的,for能解决的while也能解决,反之亦然。
- 使用规范是:知道循环几次:使用for;不知道循环几次建议使用:while。
案例:珠穆朗玛峰(世界最高峰8848.86米)
需求:世界最高山峰是珠穆朗玛峰(8848.86=8848860毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,折叠多少次,可以折成珠穆朗玛峰的高度。
思路:不清楚要循环多少次的情况可以选择用while实现。
分析步骤:
- 定义变量存储珠穆朗玛峰的高度、纸张的高度。
- 使用while循环,循环条件是(纸张厚度<山峰高度),内部控制纸张折叠,每折叠一次,纸张厚度为原来两倍,循环外定义计数变量,每折叠依次让该变量+1
实现代码如下:
public class WhileTest6 { public static void main(String[] args) { //1.定义变量记录山峰的高度 纸张的厚度 double peakHeight = 8848860; double paperThickness = 0.1; //3.定义一个变量用于记录纸张折叠的次数 int count = 0; //2.定义一个while循环控制纸张进行折叠 while (paperThickness<peakHeight){ //让纸张的厚度多一倍 paperThickness *= 2; count++; } System.out.println("折叠的次数:"+count); System.out.println("纸张的最终厚度:"+paperThickness); } }
for和while使用总结
- while能做的for都能实现;
- 但是如果一开始不知道循环次数的情况下,建议使用while循环解决更专业。