循环语句
循环语句和循环控制本质上都是转化为跳转指令。
四种循环语句
while
while(条件语句){
代码块
}
//表示死循环
while(true){}
do/while
//不管条件语句是什么,代码块都会至少执行一次
do{
代码块;
}while(条件语句)
for
1)执行初始化指令;(i=0)
2)检查循环条件是否为true,如果为false,则跳转到第6步;(i<arr.length)
3)循环条件为真,执行循环体;(System.out.println(arr[i]);)
4)执行步进操作;(i++)
5)步进操作执行完后,跳转到第2步,即继续检查循环条件;
6)for循环后面的语句。
int[] arr = {1,2,3,4};
for(int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
//表示死循环
for(; ; ){}
foreach
int[] arr = {1,2,3,4};
for(int element : arr){
System.out.println(element);
}
循环控制
break
- 只会终止当前所在的循环,而不会退出外层的循环
continue
- 跳过当前循环中的剩余代码,直接进入下一次循环的条件判断。就像 break 一样,它只会影响当前循环,而不会影响外层循环。
举例说明
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == 1 && j == 1) {
continue; // 或者break
}
System.out.println("i = " + i + ", j = " + j);
}
}
//break时输出
i = 0, j = 0
i = 0, j = 1
i = 0, j = 2
i = 1, j = 0
i = 2, j = 0
i = 2, j = 1
i = 2, j = 2
//continue输出
i = 0, j = 0
i = 0, j = 1
i = 0, j = 2
i = 1, j = 0
i = 1, j = 2
i = 2, j = 0
i = 2, j = 1
i = 2, j = 2