Java - 多个布尔条件

时间:2016-06-27 16:44:10

标签: java if-statement switch-statement boolean conditional-statements

我有这个问题:我想检查一个int是否大于10,如果不是,那么他是否大于100 ......依此类推。 有没有比这更好的方式:

 public void multipleIf(int x){
    if(x > 10){
        ...
    } else if(x > 100){
        ...
    } else if(...   
 }

感谢。

2 个答案:

答案 0 :(得分:0)

大于100的数字始终大于10.

如果您只想要10-100范围内的数字,则可以使用运算符。您可以使用逻辑运算符测试大于10但小于100的数字:

if(x > 10 && x < 100) {
    /* Body */
} else if(x > 100 && x < ....) {
    /* Body */
} 

&&是一个逻辑AND运算符,用于检查两个条件是否均为真。因此,它检查x是否在范围内,不包括。

如果您只想要大于100的数字,请使用单独的if语句。

您也可以使用switch语句。

答案 1 :(得分:0)

实际上,如果您知道自己的限制(例如10,000),您可以从顶部开始。

if(x > 10000)
    ....statement 1
else if (x > 1000) // using this else here is important
    ....statement 2
else if (x > 100)
    ....statement 3
else if (x > 10)
    ....statement 4

else很重要,因为它仅在前一个if(或else if)未执行时才执行(该语句为false)。因此,我们可以看到语句1对任何大于10,000的x执行。如果它不大于10,000但大于1000,则执行语句2。如果x不大于1,000但大于100,则执行语句3。最后,根据您的代码,您可以在某处放置else语句。