Java Switch语句 - 是“or”/“and”可能吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

我实现了一个字体系统,通过char switch语句找出要使用的字母。我的字体图像中只有大写字母。我需要做到这一点,例如,'a'和'A'都具有相同的输出。而不是两倍的案件数量,它可能是如下所示:

char c;

switch(c){
case 'a' & 'A': /*get the 'A' image*/; break;
case 'b' & 'B': /*get the 'B' image*/; break;
...
case 'z' & 'Z': /*get the 'Z' image*/; break;
}

这在java中可能吗?

提问于
用户回答回答于

您可以通过忽略break;

char c = /* whatever */;

switch(c) {
    case 'a':
    case 'A':
        //get the 'A' image;
        break;
    case 'b':
    case 'B':
        //get the 'B' image;
        break;
    // (...)
    case 'z':
    case 'Z':
        //get the 'Z' image;
        break;
}

...或者你可以在ing 之前正常化为小写大写switch

char c = Character.toUpperCase(/* whatever */);

switch(c) {
    case 'A':
        //get the 'A' image;
        break;
    case 'B':
        //get the 'B' image;
        break;
    // (...)
    case 'Z':
        //get the 'Z' image;
        break;
}
用户回答回答于

上面,你的意思是或不是。AND的例子:110&011 == 010这既不是你要找的东西。

对于OR,只有2例1日没有休息。例如:

case 'a':
case 'A':
  // do stuff
  break;

扫码关注云+社区