黑马程序员技术交流社区
标题:
一个if小题目
[打印本页]
作者:
lingxia125
时间:
2015-7-27 11:49
标题:
一个if小题目
本帖最后由 lingxia125 于 2015-7-27 12:11 编辑
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?能给我详细解释一下吗
作者:
孙晓磊
时间:
2015-7-27 12:01
第一个if,b=false少了个等号,就是赋值语句,也就是b被赋为了false也就是if(false)所以第一个条件不成立
第二个if,就是if(false),同样不成立
第三个if,if(!false),!非,非false就是true了,第三个if走出去了,就自然不看最后一个else了
作者:
3174918418
时间:
2015-7-27 12:02
本帖最后由 3174918418 于 2015-7-27 12:08 编辑
boolean b = true;
if(b=false) //if (条件表达式) ..如果条件表达式为true,就执行语句体;否则不执行。
因為这行是賦值 (PS: = 與 == 不同之處要注意)
所以到else if(!b)这行為 true
所以是C
作者:
lingxia125
时间:
2015-7-27 12:11
恩恩,明白了,没注意到这是赋值语句,thank you !
作者:
code_linux
时间:
2015-8-17 00:13
比较相等搞成赋值了。。。
作者:
wang949055945
时间:
2015-8-17 00:38
楼上的都回答的很正确
作者:
徐雪涛xuxuetao
时间:
2015-8-26 13:08
你还没弄懂赋值和相等的符号
作者:
水佳伟
时间:
2015-8-26 13:43
好,楼主v587,长知识了
作者:
javazhang
时间:
2015-8-26 13:59
学无止境啊。。。。。。。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2