黑马程序员技术交流社区
标题:
新手求教一个if的问题
[打印本页]
作者:
超级小鱼
时间:
2016-1-12 21:28
标题:
新手求教一个if的问题
今天考试做题
boolean b=true;
if(b=false)
{
System.out.println("a");
}
else if(b)
{
System.out.println("b");
}
else if(!b)
{
System.out.println("c");
}
else
{
System.out.println("d");
}
复制代码
答案为什是c呢,为什么不输出b,是在不太懂了
作者:
OliverLC
时间:
2016-1-12 22:35
if语句只有在判断语句也就是()内为true时才执行if中的执行语句~~
作者:
擎天柱
时间:
2016-1-12 22:51
第一个条件是在赋值吗?!
作者:
放养的饼干
时间:
2016-1-12 23:27
楼主请看你代码第二行,此处 b = false将b的值变为了false,所以在第六行的时候实际是if(false),所以不执行第八行,
同理,第10行的时候,b是false,!b就是true,所以就输出C咯,这是个坑,以后记住
作者:
OliverLC
时间:
2016-1-12 23:35
擎天柱 发表于 2016-1-12 22:51
第一个条件是在赋值吗?!
如果他说 b = false 当然是赋值 参考:b == false 这才是一个需要判断的语句 而这里如果是b==false的话判断结果还是个false,所以也不执行里面的执行语句., 而b=false就相当于判断条件直接是false了~
作者:
彬小彬
时间:
2016-1-12 23:53
给你加了注释不知道你能看懂不
class Test {
public static void main (String[] args) {
boolean b=true;
if(b=false) {//这句是赋值,赋值之后b是false
System.out.println("a");
} else if(b) {//b是false不进入循环
System.out.println("b");
} else if(!b) {//!b是true
System.out.println("c");
} else {
System.out.println("d");
}
}
}
复制代码
作者:
keaitao0321
时间:
2016-1-13 11:49
果然是个坑
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2