何时是使用嵌套if循环的正确时间
if(a){
if(b){
通过&&&大括号内的操作员?
if(a && b){
两个任务都用于测试2个条件,如果两个条件都符合条件,则为真。
嵌套if语句是否用于迭代数组,如嵌套for?
答案 0 :(得分:5)
何时是使用嵌套if循环的正确时间
if(a){ if(b){
通过&&&大括号内的操作员?
if(a && b){
首发if(a){ if(b){
不是"嵌套if循环"。它是嵌套的if 语句。 (或者至少if (b) { ...
部分是嵌套语句。)
单词"循环"在IT意味着重复的事情。这里没有重复。
(抱歉迂腐,但是如果你错误地使用这样的基本术语,那么强烈暗示你要么不知道这个词是什么意思,要么你不明白你是什么&# 39;已经错误地将该术语应用于。)
正如其他答案所解释的那样,这两种形式
if(a){ if(b){
和
if(a && b){
做同样的事情。那么你应该使用哪一个?它归结为两件事:
可读性:取决于a
和b
是什么(即在实际程序中),一个表单可能比普通Java程序员的其他更具可读性。可读性的差异可能很小,或者可能很大。
个人品味:由于个人原因,一些程序员偏爱一种形式而另一种形式。
有几个非原因:
样式指南:据我所知,没有Java样式指南要求一个表单而不是另一个表单。
效率:据我所知,两个版本之间的性能没有系统差异。
最后......
嵌套的if语句是否用于迭代数组,如嵌套的
没有。嵌套的if语句不是循环。他们不会迭代。
当然,您可以使用嵌套的if语句作为迭代的一些更大代码的一部分......但是没有什么神奇之处。
底线是if
,while
,for
,块,声明,赋值等构造是通用构造,可以是用于无数个不同的东西。最重要的是了解他们的所作所为。一旦你知道了,你可以使用它们的各种东西变得不言而喻......如果你考虑你想要实现的算法。
答案 1 :(得分:1)
与其他人一起陪伴时,您选择的哪个人很重要。
在单个if情况下,与else一起使用时。仅当a和b都为true时,Else才会运行。但是,在嵌套if的情况下,即使仅满足条件a,else也会运行。
这是一些伪代码:
a = true
b = false
第一种情况(单行):
if(a && b) {
print("foo");
}
else {
print("bar");
}
Output: bar
第二例(嵌套):
if(a) {
if(b) {
print("foo");
}
}
else {
print("bar")
}
Output: foo
答案 2 :(得分:-1)
如果要同时测试这两个条件,请执行a || b
。如果您想单独测试每个条件,请执行if(a) { if (b) { } }
。
例如:
if (a) {
if (b) {
// Both true.
} else {
// Only a.
}
} else {
if (b) {
// Only b.
} else {
// Neither true.
}
}
答案 3 :(得分:-1)
例如,我正在检查一年中的日期是否已经过去。
假设a
是月份,b
是要检查的日期,
检查日期为5/20
a2
和b2
是今天的日期,
今天是8/13
如果要检查它,请执行以下操作:
if(a <= a2) {
if(a == a2) {
if(b < b2) {
//true
} else {
//false
}
} else {
//true
}
} else {
//false
}
不是这样的:
if((a <= a2) && (b < b2)) {
//true
}
首先看一下第二种方法,第一个值应该为true
,因为a(5)小于a2(8);
但第二个值应返回false
,因为b(20)不小于(13);
因此整个表达式都为假,但这应该是正确的,因为如果今天是8/13,则通过5/20灵魂。
这种检查这些东西的方法不正确
看看第一个方法,则第一个值应该为true,因为a(5)小于a2(8);
第二个值应该为false,因为a(5)不是a2(8);
所以结果是true
。
回到第二个值,如果月份等于(5),则第三个值应该为false,因为b(20)不小于b2(13),
实际上,如果日期是5/20,今天是5/13,则该日期尚未过去。
答案 4 :(得分:-2)
看看这个
if(a) {
if(b) {
...
}
}
将等同于
if(a && b) {
...
}
即。当a
为true
时,请测试b
,如果它还是true
则运行代码。
两种代码都具有相同的复杂性
如果在a
为真之后你不需要做任何事情,那么肯定第二个代码是合适的,反之亦然。