可以检查多少条件? EG,如果检查
if(a==1 && b==1 && c==1 && ... && n==1)
我知道这也许可以被嵌套IFS简单地加以解决,然后多少它不会是一个问题。但坦率地说,我很好奇,似乎无法找到它需要多少。
另外,因为我有你注意无论如何,有
if(a==1 && b ==1)
而且
if(a==1)
if(b==1)
可以检查多少条件? EG,如果检查
if(a==1 && b==1 && c==1 && ... && n==1)
我知道这也许可以被嵌套IFS简单地加以解决,然后多少它不会是一个问题。但坦率地说,我很好奇,似乎无法找到它需要多少。
另外,因为我有你注意无论如何,有
if(a==1 && b ==1)
而且
if(a==1)
if(b==1)
if中的条件语句的数量没有限制。 另外,两个模块中都没有性能改进。
两者之间最大的区别是,您无法控制第一个条件失败的条件。
实施例:
if(a==1 && b==1) {
//do something
} else {
//no way to tell which one failed without checking again!
}
其它之一:
if(a==1) {
if(b==1) {
//do something
} else {
// 'b' failed (meaning: b is not equal to 1)
}
} else {
// 'a' failed
}
没有明确的限制之间的效率的任何差异,据我所知。实际的限制是可读性成为问题。
实际的代码限制可能是由于Java方法只能包含大约64 KiB的字节码。
你最后的两个代码块做同样的事情(假设只有一个代码块或后面的语句)。如果涉及else
,它们只会有所不同。
我不确定if
子句中语句的数量,但两种语法之间的性能相同。无论您使用什么语法,编译器都会生成相同的字节码。
如果你证明这两段代码的生成字节码在你的文章中也是相同的,那将会更好。 – 2015-02-24 15:44:10
一个java if
语句可以测试正好一个条件:
如果(布尔表达式)陈述 [其他声明]
的a==1 && b==1 && c==1 && ... && n==1
在你的例子是一个布尔表达式,因为别人已经告诉过你,有一个布尔表达式是如何复杂的允许是没有硬性限制。
请问每个问题一个问题。 – 2015-02-24 15:40:02
从技术上讲,只有一个条件是在一个'if'里面进行评估的,什么是ascually正在发生的情况是1个条件被评估,并且它的结果被评估为下一个等等...... – 2015-02-24 15:41:04
1)没有限制。 2)两者相同 – 2015-02-24 15:41:37