目录
书写格式
执行流程
循环一开始,执行int i = 0 一次。
此时 i=0 ,接着计算机执行循环条件语句:0 < 3 返回true , 计算机就进到循环体中执行,输出 :helloWorld ,然后执行迭代语句i++。
此时 i=1 ,接着计算机执行循环条件语句:1 < 3 返回true , 计算机就进到循环体中执行,输出 :helloWorld ,然后执行迭代语句i++。
此时 i=2 ,接着计算机执行循环条件语句:2 < 3 返回true , 计算机就进到循环体中执行,输出 :helloWorld ,然后执行迭代语句i++。
此时 i=3 ,然后判断循环条件:3 < 3 返回false, 循环立即结束!!!
案例:把纸张折叠成珠穆朗玛峰的高度
需求:
世界最高山峰珠穆朗玛峰高度是:8848.86米=8848860毫米,假如我有一张足够大的纸,它的厚度是0.1毫米。请问:该纸张折叠多少次,可以折成珠穆朗玛峰的高度?
分析:
定义变量存储珠穆朗玛峰的高度、纸张的高度。
double peakHeight = 8848860; // 山峰高度
double paperThickness = 0.1; // 纸张厚度
使用while循环来控制纸张折叠,循环条件是(纸张厚度<山峰高度),循环每执行一次,就表示纸张折叠一次,并把纸张厚度变为原来两倍。
循环外定义计数变量count,循环每折叠一次纸张,让count变量+1;
代码实现
//1.定义变量记住珠穆朗玛峰的高度和纸张的厚度
double peakHeight = 8848860;
double paperThickness = 0.1;
//3.定义一个变量count用于记住纸张折叠了几次
int count = 0;
//2.定义While循环控制纸张开始折叠
while (paperThickness < peakHeight) {
//把纸张进行折叠,把纸张的厚度变成原来的2倍
paperThickness = paperThickness * 2;
count++;
}
System.out.println("需要折叠多少次:" + count);
System.out.println("最终纸张的厚度:" + paperThickness);
while和for有什么区别?
其实while能做的for都能实现,for能做的while也都能实现,功能上无区别。
使用规范:如果一开始不知道循环次数的情况下,建议使用while循环解决更专业。一开始就知道循环几次的情况下,使用for循环来解决更专业。
我是Java小白,不足之处欢迎提出。