while、for和do…while循环的认识和区别
三种循环的认识
while循环
语法结构:
while (布尔表达式) {
循环体;
}
在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。
语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。
注意:while循环和do-while循环区别
while循环先判断再循环,可能循环体一次也没有执行
do-while循环先执行再判断,循环体至少执行一次
如果while循环第一次判断为真,两种循环无差别;两种循环效率上没有差别
注意2:do-while循环的适用场合:
do{
考试;
判卷;
}while(不及格);
如果使用while循环实现:
考试;
判卷;
while(不及格){
考试;
判卷;
}
for循环
语法结构:
for (初始表达式; 布尔表达式; 迭代因子) {
循环体;
}
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。
初始化部分设置循环变量的初值
条件判断部分为任意布尔表达式
迭代因子控制循环变量的增减
for循环在执行条件判定后,先执行的循环体部分,再执行步进。
注意1:
一定要明白for循环的语法结构
for( 循环变量初始化; 循环条件 ; 改变循环变量的值){
循环体
}
注意2:
三种循环结构到底使用哪一个
循环次数固定,建议使用for
循环次数不固定
先执行再判断,建议使用do-while
先判断再执行,使用while
实际开发,for使用频率高,然后是while,最后是do-while
注意3:
循环内部定义变量
可以在for循环的表达式1中定义变量,变量的作用范围仅限于该for循环,可以减少变量在内存中存在的时间
注意4:
for是三种循环中最灵活的
表达式1,表达式2,表达式3可以省略部分或者全部,但是;不可少,如果省略,也需要写到其他位置,这是结构的变化,语句没有减少。
OK!区别在这里,已经不用回顾的同学请看这里~~~~~~~~~~~~
一:
如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次。
for (int i = 1; i < 0; i++) {
System.out.println("Hello");
}
System.out.println("================");
int i = 1;
do {
System.out.println("World");
i++;
} while (i < 0);
这种情况for循环和while循环均不会被执行,但是do…while被执行了一次。
二:
for循环的变量在小括号当中定义,只有循环内部才可以使用。
while循环和do-while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用。
for (int i = 1; i < 0; i++) {
System.out.println("Hello");
}
System.out.println(i);
//这一行是错误写法!因为变量i定义在for循环小括号内,只有for循环自己才能用。
System.out.println("================");
此处i为在for循环内的局部变量,在循环外不能使用。