标准格式:
for:
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
执行流程:
A:执行初始化语句
B:执行判断条件语句,看其返回值是true还是false
- 如果是true,就继续执行
- 如果是false,就结束循环
C:执行循环体语句;
D:执行控制条件语句
E:回到B继续。
while:
while(判断条件语句) {
循环体语句;
}
扩展格式:
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
使用区别:
1、如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。
2、不知道到底用什么循环的时候,用for循环,因为变量及早的从内存中消失,可以提高内存的使用效率。
举例:
class Demo {
public static void main(String[] args) {
//for循环
for(int x=0; x<10; x++) {
System.out.println("厉害了word哥!");
}
//这里不能继续访问x了
//System.out.println(x);
//----------------------------------------
//while循环
int y = 0;
while(y<10) {
System.out.println("承让了word妹!");
y++;
}
//这里可以继续访问y
System.out.println(y);
}
}
3、如果是不明确要做多少次,用while循环较为合适。
举例:
珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.000088m。
请问,我需要折叠多少次,就可以保证其厚度不低于珠穆朗玛峰的高度?
class Demo {
public static void main(String[] args) {
//定义一个统计变量,默认值是0
int count = 0;
//最高山峰是珠穆朗玛峰:8848m这是最终的厚度
//我现在有一张足够大的纸张,厚度为:0.000088m这是初始厚度
//为了简单,我把0.000088变成88,同理8848就变成了8848000000
long end = 8848000000L;
long start = 88L;
while(start<end) {
//只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++
count++;
//折叠一次有什么变化呢?就是厚度是以前的2倍。
start *= 2;
System.out.println("第"+count+"次厚度是"+start);
}
//输出统计变量。
System.out.println("要叠"+count+"次");
}
}
突然觉得,看似高不可攀的珠穆朗玛峰,其实也不过就是一张A4纸被27次折叠的高度而已啦。
.
.