我有这个问题:我想检查一个int是否大于10,如果不是,那么他是否大于100 ......依此类推。 有没有比这更好的方式:
public void multipleIf(int x){
if(x > 10){
...
} else if(x > 100){
...
} else if(...
}
感谢。
答案 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
语句。