我愿做这样的事情:Switch语句,使默认的一个早期定义的开关情况?
int i = 0;
switch(difficulty) {
case 1: i++; break;
case 2: i--; break;
default: case 1;
}
是这样的可能吗?我想防止重复的代码。我知道在这个特定的例子中,没有什么理由要这样做,因为重复的代码很小。我能想出的唯一的事情是这样的[使用告吹的开关情况的能力]:
switch(difficulty) {
case 2: i--; break;
default:
case 1: i++; break;
}
我宁愿不做这样的,因为它会更有意义,增加案件数量和在底部有默认值。
但是我想知道如果我能做到这一点,它会搞不清引擎盖下的goto语句吗?特别是,从数字或乱序之后决定使用哪个goto语句不需要更长的时间?订单在switch语句中是否重要?想象一下,所有的情况都有被调用的可能性,如果你以随机顺序而不是线性顺序来处理它们,那么它会起作用吗?
[编辑:关于效率,我发现我这方面的问题:是否开关语句的顺序事情,简单的答案是否定的:Does switch case order affect speed? How does Java's switch work under the hood?
goto?请不! – 2014-11-24 16:07:00
为什么不删除案例1:并保持默认?默认意味着所有其他值 - 如果未在别处定义,则包括1。 – BarrySW19 2014-11-24 16:07:28
添加一个私有方法,并从'case 1'和'default'调用它,这样你就不会有重复的代码。 – 2014-11-24 16:11:08