java - switch 语句中的中断是否会终止 for 循环?
问题描述
我试图理解返回、中断和继续。我知道 break 会停止(内部)for 循环。例如:
for (int i = 1; i <= 3; i++) {
// inner loop
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
// using break statement inside the inner loop
break;
}
System.out.println(i + " " + j);
}
}
我知道外循环会继续。
我不明白的是这里:
for (int i = 0; i < 3; i++) {
String line = null;
switch (a) {
case 0:
line = "Hello";
break;
case 1:
line = "How are you?";
break;
case 2:
line = "What are you doing?";
break;
所以它转到案例 0,然后中断,for 循环继续,为什么?我认为它会打破循环,因为它没有嵌套。还是因为 switch 语句 - 它与 if 语句不同?
在这种情况下,它将终止整个while循环......我看不出有什么区别。
while(winner == false){
input = menuInput.nextInt();
try {
if(input == 0 || input >= 9){
System.out.println("Ungültige Nummer, versuche nochmal!");
break;
}
解决方案
你可以break
一个switch
. 你不能break
一个if
. break
应用于可以break
编辑的最接近的语句,所以
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
// using break statement inside the inner loop
break;
}
System.out.println(i + " " + j);
}
这里break
指的是for
。
在这里:
for (int i = 0; i < 3; i++) {
String line = null;
switch (a) {
case 0:
line = "Hello";
break;
它指的是switch
.
可以break
编辑的语句是for
, while
, do...while
, switch
.
有关更多信息,您可以查看规范。