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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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 个回复

倒序浏览
cat73 黑马帝 2015-5-28 22:33:30
沙发
b。。。。。。。。。。。。。。
回复 使用道具 举报
cat73 黑马帝 2015-5-28 22:34:50
藤椅
其实代码简单整理下就清晰了
  1. if(true = false) {
  2.     System.out.println("a");
  3. } else if(true) {
  4.     System.out.println("b");        
  5. } else if(!true) {
  6.     System.out.println("c");
  7. } else {
  8.     System.out.println("d");
  9. }
复制代码
回复 使用道具 举报
cat73 发表于 2015-5-28 22:33
b。。。。。。。。。。。。。。

是C。。。。。。
回复 使用道具 举报
是C吧。。。。
回复 使用道具 举报
  C  楼主你把二楼坑了
回复 使用道具 举报
thoris 发表于 2015-5-28 22:35
是C。。。。。。

这说明,还是有人会被坑的,哈哈
回复 使用道具 举报
Lucus 中级黑马 2015-5-28 23:09:39
8#
表示做错了!!!
回复 使用道具 举报
夜愿Relax 来自手机 中级黑马 2015-5-28 23:13:14
9#
额,求解释
回复 使用道具 举报

因为if(b=false)已经将false赋值给了b,所以b=false;

点评

啊,懂了,多谢  发表于 2015-5-29 07:32
啊,懂了,多谢  发表于 2015-5-29 07:31
回复 使用道具 举报
Lucus 发表于 2015-5-28 23:09
表示做错了!!!

下次努力吧,我也做错了
回复 使用道具 举报
这个题有陷阱,的看仔细了。
if(b=false) ,这时b被赋值为false了,等价于if(false),不执行
else if(b),等价于if(false),不执行
else if(!b) ,就执行了


大多数人会选B,是把第一句话看成if(b==false)

所以,改一下,就B了
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");
}
回复 使用道具 举报
尽量吧 大括号链接在 小括号的右侧,接上。因为源代码就是这么写的。:lol
回复 使用道具 举报
d么。。。=号是赋值。。。这种挖坑题做起来太坑人了
回复 使用道具 举报
if(b=false)中赋值了  答案c
回复 使用道具 举报
guoyangpeng 来自手机 中级黑马 2015-5-29 06:41:17
16#
新手,复习了!大坑
回复 使用道具 举报
答案:C 因为第一个分支if(b=false),中条件表达式为赋值语句,将false赋值给b。所以b的值就为false了,依次从上往下执行到第三个分支即else if(!b)的条件表达式为true,故输出结果为c
回复 使用道具 举报
其实逻辑清楚点一下就出来了C
回复 使用道具 举报
表示做错了
回复 使用道具 举报
做错了,学习了    注意=和==
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马