JAVA在IF语句中评估多个OR条件

时间:2014-04-26 02:31:07

标签: java if-statement

如何正确编码此声明?还有更好的方法吗?

byte[] buf = rtm.getMessageData();
if (buf[0] == 'A'|| 'B' || 'C' || 'D' || 'E' || 'F')

2 个答案:

答案 0 :(得分:6)

正确Java中代码的确切类似物是:

if (buf[0] == 'A'|| buf[0] == 'B' || buf[0] == 'C'
        || buf[0] == 'D' || buf[0] == 'E' || buf[0] == 'F')

但正如你所推测的那样,有更好的方法。

一个选项:

if (buf[0] >= 'A' && buf[0] <= 'F') {
    ...
} else {
    ...
}

另一种选择:

switch (buf[0]) {
    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
        ...
        break;
    default:
        ...
}

答案 1 :(得分:2)

if (buf[0] >= 'A' && buf[0] <= 'F')
    ....