Hea*_*r T 5 java if-statement conditional-statements
如果检查有多少条件?例如,
if(a==1 && b==1 && c==1 && ... && n==1)
Run Code Online (Sandbox Code Playgroud)
我知道这可能只是通过嵌套ifs来解决,然后它不会是一个多少问题.但坦率地说,我很好奇,似乎无法找到需要多少.
另外,既然我已经引起了你的注意,那么效率之间是否存在差异
if(a==1 && b ==1)
Run Code Online (Sandbox Code Playgroud)
和
if(a==1)
if(b==1)
Run Code Online (Sandbox Code Playgroud)
据我所知,没有明确的限制.实际限制是可读性成为问题.
实际的代码限制可能是由于Java方法只能包含大约64 KiB的字节码.
你的最后两个代码块做同样的事情(假设它们之后只有一个代码块或语句).如果else涉及到它们,它们只会是不同的.
小智 7
if中的条件语句的数量没有限制.此外,两个块中的任何一个都没有性能改进.
两者之间最大的区别在于,您无法控制第一个条件失败的情况.
例:
if(a==1 && b==1) {
//do something
} else {
//no way to tell which one failed without checking again!
}
Run Code Online (Sandbox Code Playgroud)
另外一个:
if(a==1) {
if(b==1) {
//do something
} else {
// 'b' failed (meaning: b is not equal to 1)
}
} else {
// 'a' failed
}
Run Code Online (Sandbox Code Playgroud)