第十一篇while循环
while循环也是我们在实际开发中应用到的比较多的循环, 它一般适用于循环次数不固定的情况.
11.1 格式
初始化条件1;
while(判断条件2) {
//循环体3;
//控制条件4;
}
解释:
初始化条件: 用来记录 循环的初始状态的. 即: 从哪开始循环.
判断条件: 用来决定循环是否继续执行的, 条件成立, 则循环继续执行, 条件不成立, 整个循环就结束了.
控制条件: 用来控制初始化条件变化的, 一般是每循环一次, 初始化条件+1.
循环体: 需要用来重复做的事情(代码).
11.2 执行流程
先执行初始化条件.
然后执行判断条件, 看其结果是true, 还是false.
如果是false, 则整个循环结束.
如果是true, 则执行循环体.
执行控制条件.
返回第2步, 继续往下重复执行.
简单理解:
第一次执行: 1, 2, 3, 4. 假设判断条件成立.
重复执行: 2, 3, 4.
最后一次执行: 2 判断条件不成立, 循环结束.
11.3 图解
11.4 案例一: while循环入门
需求
在控制台打印10次HelloWorld.
参考代码
public class WhileDemo01 {
public static void main(String[] args) {
int i = 0;
while(i < 10) {
System.out.println("Hello World!");
i++;
}
}
}
11.5 案例二: 求和
需求
获取1~100之间所有偶数和, 并将结果打印到控制台上.
参考代码
//需求: 获取1 - 100之间的偶数和.
public class WhileDemo02 {
public static void main(String[] args) {
int sum = 0;
int i = 1;
while (i <= 100) {
if (i % 2 == 0)
sum += i;
i++;
}
System.out.println("1-100之间的偶数和为: " + sum);
}
}
11.6 案例三: 珠穆朗玛峰
需求
已知世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米).
假如我有一张足够大的纸,它的厚度是0.1毫米.
请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
- : 纸张的厚度 >= 珠穆朗玛峰的高度
参考代码
//案例: 珠穆朗玛峰
public class WhileDemo03 {
public static void main(String[] args) {
//1. 定义变量, 记录纸张的厚度.
double paper = 0.1;
//2. 定义变量, 记录珠峰的高度.
int zf = 8844430;
//3. 定义变量, 记录纸张的折叠次数.
int count = 0;
//4. 通过while循环实现, 获取折叠次数.
while (paper < zf) {
paper *= 2;
count++;
}
//5. 打印结果.
System.out.println("折叠次数为: " + count);
}
}