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 注释就可以了。但是为了清楚起见,我认为这是最好的做法。