检查整数是否在两个值之间

时间:2015-07-29 21:34:08

标签: java if-statement

我有一个名为number的int变量,其值为21

int number = 21;

if (number >= 6 && number < 12) {
    System.out.println("catch 1");
}
else if (number >= 12 && number < 17) {
    System.out.println("catch 2");
}
else if (number >= 17 && number < 21) {
    System.out.println("catch 3");
}
else if (number >= 21 && number < 6) {
    System.out.println("catch 4");
}

为什么我看不到catch 4消息?

2 个答案:

答案 0 :(得分:4)

我非常怀疑一个数字会同时大于21且小于6.你的意思可能是26而不是6

答案 1 :(得分:2)

因为值21不小于6

因此,当评估行else if (number >= 21 && number < 6) {时,程序会看到:

else if (21 >= 21 && 21 < 6) {

变为:

else if (true && false) {

成为

else if (false) {

如果您将此行更改为else if (number >= 21 && number > 6) {,那么您会看到catch 4

注意:这与说else if (number > 6) {

相同

编辑:根据您问题的标题,您似乎正在尝试检查number6之间是否21

如果number可以等于621,则会显示:

else if(number <= 21 && number >= 6){

如果number不能等于621,则表示如下:

else if(number < 21 && number > 6){