gpt4 book ai didi

java - switch 语句,将默认设置为较早定义的 switch case?

转载 作者:搜寻专家 更新时间:2023-11-01 04:01:11 25 4
gpt4 key购买 nike

我想做这样的事情:

int i = 0;

switch(difficulty) {
case 1: i++; break;
case 2: i--; break;
default: case 1;
}

这样的事情可能吗?我想防止重复代码。我知道在这个特定示例中没有理由这样做,因为重复的代码会很小。我唯一能想出的是这样的东西[使用 switch cases 的 fall through 能力]:

switch(difficulty) {
case 2: i--; break;
default:
case 1: i++; break;
}

我宁愿不这样做,因为增加案例数量并将默认值放在底部会更有意义。

但我想知道,如果我这样做,它会不会与引擎盖下的 goto 语句混淆?特别是,由于数字或乱序,是否需要更长的时间来决定使用哪个 goto 语句? switch 语句中的顺序重要吗?想象一下,所有案例都有相同的调用几率,如果您让它们按随机顺序而不是线性顺序排列会很重要吗?

[编辑:对于我关于效率的附带问题,我发现:Does the order matter of switch-statements,简短的回答是否定的:Does switch case order affect speed? How does Java's switch work under the hood?

最佳答案

这应该符合您的需要:

switch(difficulty) {
case 2: i--; break;
default: i++; break;
}

关于java - switch 语句,将默认设置为较早定义的 switch case?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27109031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com