跳转语句
break
在Java中,break
是一个控制流语句,用于立即退出最近的 for
、while
、do-while
或 switch
语句的执行。break
语句通常用于以下情况:
- 退出循环:当满足特定条件时,提前终止循环的执行。
- 跳出
switch
语句:在switch
语句中,break
用于终止当前case
的执行,并退出switch
语句。
示例:
在循环中使用 break
:
javafor (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 当i等于5时,退出循环
}
System.out.println(i);
}
// 循环将打印0到4,然后遇到break语句退出
在 switch
语句中使用 break
:
javaint day = 3;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break; // 每个case后面通常跟一个break,防止穿透到下一个case
default:
System.out.println("Day not recognized");
}
// 当day等于3时,打印"Wednesday",然后break退出switch语句
特点和注意事项:
- 立即退出:
break
语句会导致立即退出包含它的最内层循环或switch
语句。 - 避免无限循环:
break
可用于避免无限循环,特别是当循环条件可能永远不会变成false
时。 - 穿透防止:在
switch
语句中,break
用于防止从当前case
继续执行到下一个case
(称为 "fall-through")。 - 嵌套循环:如果存在嵌套循环,
break
只会退出最内层的循环。如果你想退出外层循环,需要使用不同的方法,比如设置一个布尔标记变量。 - 循环控制:
break
可用于基于循环外部条件的复杂逻辑,提前退出循环。
使用 break
可以提高代码的控制力和灵活性,使得循环的退出不仅仅依赖于循环的初始条件。
continue
在Java中,continue
是一个控制流语句,用于跳过当前循环迭代中剩余的代码,并立即开始下一次迭代。continue
语句通常用于以下情况:
- 跳过当前迭代:当满足特定条件时,不想执行循环体中剩余的代码。
- 继续下一次迭代:执行完
continue
语句后,控制流会直接跳转到循环的条件判断部分,如果条件满足,继续执行下一次迭代。
示例:
在 for
循环中使用 continue
:
javafor (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // 如果i是偶数,跳过当前迭代,不执行下面的打印语句
}
System.out.println(i); // 只有奇数会被打印
}
// 循环将只打印0到9之间的奇数
在这个示例中,当 i
是偶数时,continue
语句会被执行,跳过打印语句,然后循环会立即开始下一次迭代。
在 while
或 do-while
循环中使用 continue
:
java复制int i = 0;
while (i < 10) {
i++;
if (i % 2 == 0) {
continue; // 如果i是偶数,跳过当前迭代的剩余部分
}
System.out.println(i); // 只有奇数会被打印
}
// 循环将只打印1到9之间的奇数
在这个示例中,continue
语句同样用于跳过偶数的打印,但由于 i++
在循环条件之前,所以循环会正常计数并继续。
特点和注意事项:
- 立即跳转:
continue
语句会导致立即跳转到循环的控制条件判断部分。 - 不影响条件判断:即使使用了
continue
,循环的条件判断仍然会执行。 - 嵌套循环中的
continue
:如果存在嵌套循环,continue
只会影响最内层的循环,不会退出外层循环。 - 与
break
的区别:continue
用于跳过当前迭代,而break
用于完全退出循环。
使用 continue
可以提高循环的控制力,允许在特定条件下跳过一些不需要执行的迭代,使得循环逻辑更加灵活和清晰。