循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
循环语句的组成:
- 初始化语句:一条或者多条语句,这些语句完成一些初始化操作。
- 判断条件语句:这是一个boolean 表达式,这个表达式能决定是否执行循环体
- 循环体语句:这个部分是循环体语句,也就是我们要多次做的事情。
- 控制条件语句:这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。
1、For循环语句
for循环语句格式:
for循环语句格式:
public class OperatorDemo {
public static void main(String[] args) {
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
}
}
执行流程:
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续
例子:
public class ForDemo {
public static void main(String[] args) {
for (int i = 0; i <= 5; i++) {
System.out.println("i = "+i);
}
}
}
执行结果:
判断条件语句的结果只能是一个boolean类型;
循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略;
一般来说:有左大括号就没有分号,有分号就没有左大括号
2、While循环语句
基本格式:
while(判断条件语句) {
循环体语句;
}
扩展格式:
while(判断条件语句) {
循环体语句;
控制条件语句;
}
循环结构(for循环和while循环区别)
for循环语句和while循环语句可以等价转换,但还是有些小区别的
- 使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
- 场景区别:
for循环适合针对一个范围判断进行操作
while循环适合判断次数不明确操作
3、do...while循环语句
基本格式:
do {
循环体语句;
}while((判断条件语句);
扩展格式:
初始化语句;
do {
循环体语句;
控制条件语句;
} while((判断条件语句);
三种循环语句其实都可以完成一样的功能,也就是说可以等价转换,但还是有小区别的:
- do…while循环至少会执行一次循环体;
- for循环和while循环只有在条件成立的时候才会去执行循环体。
写程序优先考虑for循环,再考虑while循环,最后考虑do…while循环。