Java 在案例之间切换并重复案例
Java Switch between cases and repeating them
我编写了这个 switch 语句:
int up = 1;
switch(up){
case 1:
//some methods get called - if statement with break
up = 0;
case 0:
//some methods get called - if statement with break
up = 1;
}
我对我的代码的期望:
它应该 运行 从案例 1 到案例 0,然后到案例 1 到案例 0 等等,直到我调用 break;.
实际发生了什么:
case 1 和 case 2 运行宁一次,不再重复。
怎么了?
您误会了 loops with the break
used in the switch statements 中使用的 break
。
int up = 1;
DO_WHILE_LOOP : do{
switch(up){
case 1:
up = 0;
if (yourCondition) break DO_WHILE_LOOP; break;
case 0:
up = 1;
if (yourCondition) break DO_WHILE_LOOP; break;
}
} while (true);
这是一种方法。
您正在使用 DoWhile 循环进行循环并测试 yourCondition
。如果已填满,则您 break
来自 DO_WHILE_LOOP
(我们为 "infinite-loop" 指定的名称)
在满足条件之前,循环是无限的。
信息:
一个简单的中断,没有 DO_WHILE_LOOP
注释就可以了。但是为了清楚起见,我认为这是最好的做法。
我编写了这个 switch 语句:
int up = 1;
switch(up){
case 1:
//some methods get called - if statement with break
up = 0;
case 0:
//some methods get called - if statement with break
up = 1;
}
我对我的代码的期望: 它应该 运行 从案例 1 到案例 0,然后到案例 1 到案例 0 等等,直到我调用 break;.
实际发生了什么: case 1 和 case 2 运行宁一次,不再重复。
怎么了?
您误会了 loops with the break
used in the switch statements 中使用的 break
。
int up = 1;
DO_WHILE_LOOP : do{
switch(up){
case 1:
up = 0;
if (yourCondition) break DO_WHILE_LOOP; break;
case 0:
up = 1;
if (yourCondition) break DO_WHILE_LOOP; break;
}
} while (true);
这是一种方法。
您正在使用 DoWhile 循环进行循环并测试 yourCondition
。如果已填满,则您 break
来自 DO_WHILE_LOOP
(我们为 "infinite-loop" 指定的名称)
在满足条件之前,循环是无限的。
信息:
一个简单的中断,没有 DO_WHILE_LOOP
注释就可以了。但是为了清楚起见,我认为这是最好的做法。