如果循环判断条件语句省略的话,就默认为循环条件成立
执行流程:
-
第一步:执行初始化语句①,完成循环变量的初始化;
-
第二步:执行循环条件语句②,看循环条件语句的值是true,还是false;
-
如果是true,执行第三步;
-
如果是false,循环语句中止,循环不再执行。
-
-
第三步:执行循环体语句③
-
第四步:执行迭代语句④,针对循环变量重新赋值
-
第五步:根据循环变量的新值,重新从第二步开始再执行一遍
public class TestFor {
public static void main(String[] args) {
// 从1加到100的总和是5050
int sum = 0;
// for循环后面的小括号,由两个分号划分出三个区域
// 第一个区域叫做循环变量的初始化,第二个区域叫循环条件判断,条件判断为true则进入循环,条件判断为false则退出循环。
// 第三个区域叫循环变量的改变
// 当第一次开始循环的时候,首先执行第一个区域,循环变量初始化。然后判断循环条件,true执行循环体,false退出循环。
// 第三步执行循环体,当循环体执行完毕后,进入第四步,循环变量的改变。循环变量改变结束本次循环结束。
// 循环回到起点,判断循环条件(循环变量的初始化只有循环第一次的时候才运行)。
// for循环用于循环次数确定,先判断后执行的情况。
for(int i=1;i<=100;i++){// for循环定义的循环变量i相当于for循环的局部变量,for循环结束后,这个i就失去了生命周期
sum += i;
}
System.out.println(sum);
// System.out.println(i);
/*
int i = 1;
// for循环后面的小括号里,两个分号是不能省略的,而由两个分号分割的三个部分的内容都是可以省略的。
for(;;){// for循环定义的循环变量i相当于for循环的局部变量,for循环结束后,这个i就失去了生命周期
sum += i;
System.out.println(i);
i++;
}
*/
}
}
注意:
(1)for(;;)中的两个;是不能多也不能少
(2)循环条件必须是boolean类型
(3)如果循环条件语句②省略的话,就默认为循环条件成立
3.11 循环语句的区别
-
从循环次数角度分析
-
do...while循环至少执行一次循环体语句
-
for和while循环先循环条件语句是否成立,然后决定是否执行循环体,至少执行零次循环体语句
-
-
从循环变量的生命周期角度分析
-
for循环的循环变量在for()中声明的,在循环语句结束后,不可以被访问;
-
while和do...while循环的循环变量因为在外面声明的,所以while和do...while结束后可以被继续使用的;
-
-
如何选择
-
遍历有明显的循环次数(范围)的需求,选择for循环
-
遍历没有明显的循环次数(范围)的需求,循环while循环
-
如果循环体语句块至少执行一次,可以考虑使用do...while循环
-
本质上:三种循环之间是可以互相转换的,都能实现循环的功能
-
-
三种循环结构都具有四要素:
-
(1)循环变量的初始化表达式
-
(2)循环条件
-
(3)循环变量的修改的迭代表达式
-
(4)循环体语句块
-