A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

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");
}
A.        a   
B.        b  
C.        c
D.        d

34 个回复

正序浏览
我也做错了,原来有个陷进。。。
回复 使用道具 举报
if中的b=false是吧false赋给b,所以if条件表达式结果是false,那就不会再if中的内容了,c中的!b就是true,所以应该是c,只有boolean型的能在if语句中进行赋值操作,其他的编译会报错
回复 使用道具 举报
学习了,写代码还是要细心啊!
回复 使用道具 举报
C。。。。。。。。
回复 使用道具 举报
好经典的题啊  
我果断的选b了  我果然基础不牢 啊
回复 使用道具 举报
c,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
回复 使用道具 举报
很明显是c吗。。。。。。
回复 使用道具 举报
的确受教了
回复 使用道具 举报
好的吧   还是运算符的优先级问题
回复 使用道具 举报
转来转去眼转晕  
回复 使用道具 举报
看来不只我一个不坑了,没注意只是=号
回复 使用道具 举报
在第二个if中对b重新进行了赋值
回复 使用道具 举报
表示中招了
回复 使用道具 举报
做错了,学习了    注意=和==
回复 使用道具 举报
表示做错了
回复 使用道具 举报
其实逻辑清楚点一下就出来了C
回复 使用道具 举报
答案:C 因为第一个分支if(b=false),中条件表达式为赋值语句,将false赋值给b。所以b的值就为false了,依次从上往下执行到第三个分支即else if(!b)的条件表达式为true,故输出结果为c
回复 使用道具 举报
guoyangpeng 来自手机 中级黑马 2015-5-29 06:41:17
15#
新手,复习了!大坑
回复 使用道具 举报
if(b=false)中赋值了  答案c
回复 使用道具 举报
d么。。。=号是赋值。。。这种挖坑题做起来太坑人了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马