gpt4 book ai didi

java - Java SWITCH 中 CASE 的动态值

转载 作者:行者123 更新时间:2023-11-29 10:11:24 31 4
gpt4 key购买 nike

我需要为 case 实现带有动态值的 switch case 语句,如下所示。

int v1 = 5;
int key = xx.getKey();

switch (v1) {
case key:
.......
case key+1:
.......
case key+2:
.......
default:
.......
}

使用它时,java 会提示“case 表达式必须是常量表达式”。有没有办法在情况下使用动态值。 (switch变量也是动态值)

最佳答案

在 switch 语句中不能使用非常量表达式作为 case。但是,您可以通过从 v1 中减去 key 来使大小写不变:

switch (v1 - key) {
case 0:
.......
case 1:
.......
case 2:
.......
default:
.......
}

但是,这只适用于简单的情况。正如@BorisTheSpider 指出的那样,在更一般的情况下,您需要使用 if...else 语句。

关于java - Java SWITCH 中 CASE 的动态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32733018/

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