
while循环
语句格式:
简化格式:
while(关系表达式){
循环体语句;
}
完整格式:
初始化语句;
while(关系表达式){
循环体语句;
控制条件语句;
}
执行流程:
1、先执行初始化语句
2、判断关系表达式的结果,
如果是true,进入while循环,执行循环体内容
如果是false,就不进入while循环,不执行循环体内容
3、如果进入循环体内容,执行循环体代码和控制条件语句
4、直到关系表达式结果为false,终止while循环
死循环介绍:
for(;;){}
while(true){} 永远满足条件,永远出不去,永远跳不出来

用for循环实现:


用while循环实现:


结论:for循环可以等价转换为while循环
while循环与for循环的区别:
1、for循环结束后,在for循环中定义的初始化变量在外部无法使用
while循环结束后,由于初始化值变量是在while循环外部定义的,所以在while循环外部可以访问到
举例1、打印1-10

运行完for循环之后想把i打出来看看,如下图:

结果报错,这是因为i的作用域只在for循环内有效,出了for循环就没有效了

再来看,运行完while循环后想把i1打出来看看值是多少

结果i1的值是11

举例2、假设学习Java,每天学一点,你不知道多少天学完,但是总有一天会学完
这时候就不能用for循环了,我们改用while循环
for循环实现的是一个范围内的循环
while循环,不知道将来要循环多少次,但是总会有一个点去停止
举例3、每分钟监控某网页登录用户的情况,知道有非法用户登录,统计在此之前的次数
boolean flag=true;
while(flag){
if(非法用户登录){
flag=false;
}
}

分析:
1、高度:8848
2、一张纸的厚度是0.01,也就是初始值为0.01
3、每叠一次相当于厚度*2
4、叠多少次呢?我们不知道,但是我们知道厚度>=8848,不能继续叠了
5、由于我们不知道叠了多少次,优先考虑while循环
while循环:


for循环也可以:

















