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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. 18. 下面程序执行的结果是?( )
  2. boolean b=true;
  3. if(b=false) // “=”是赋值,把b赋值为false;看清楚,不是==。
  4. {
  5.         System.out.println("a");
  6. }
  7. else if(b)         //因为b=true,所以会输出b的boolean值—true。
  8. {
  9.         System.out.println(b);
  10. }
  11. else if(!b)//因为b=true,所以这句会执行
  12. {
  13.         System.out.println("c");
  14. }
  15. else//因为上面已经由语句符合条件,所以这句不会被执行
  16.         System.out.println("d");
  17. A.        a   
  18. B.        true  
  19. C.        c
  20. D.        d
复制代码


18 个回复

正序浏览
学习了 11
回复 使用道具 举报
这道题 关键 是第一个if(b=false)后,后面的都是b=false
回复 使用道具 举报
这题我也错过,当时选的B,现在知道是选C。
回复 使用道具 举报
是不是选c哦
回复 使用道具 举报
这道题,因为语言是java,所以答案是c。因为b=false的返回值是赋值后的结果也就是false。我记得有的语言,这句话的返回值是看是否赋值成功,赋值成功是true,赋值失败是false。如果是这个规则,答案就是a。
回复 使用道具 举报
注意是表达式为true才执行  所以选c
回复 使用道具 举报

!b=true  逻辑预算问题
回复 使用道具 举报

!b=true,所以第三个条件句会执行,选C.
回复 使用道具 举报
答案是C  因为 很早就见过这道题了
回复 使用道具 举报
恩恩 学习了
回复 使用道具 举报
fanxia_2007 发表于 2015-5-2 19:54
!b=true,所以第三个条件句会执行,选C.

:handshake
回复 使用道具 举报
!b=true,所以第三个条件句会执行,选C.
回复 使用道具 举报
C.        c
回复 使用道具 举报
ZSMAN 发表于 2015-5-2 17:19
11行注释写错了吧~  b=false        ps:第3行if(b=false)等同于b=false;if(b)..

哎呦,11行注释是写错了,应该是
  1.                 else if (!b)//因为在第3行,b已经被赋值为false,
  2.                                         //所以!b为true,执行这条
复制代码
回复 使用道具 举报
我错这道题上了,

点评

弄清楚变量的作用域,再细心点就好了:)  发表于 2015-5-2 19:40
回复 使用道具 举报
本帖最后由 ZSMAN 于 2015-5-2 17:24 编辑

11行注释写错了吧~  b=false        ps:第3行if(b=false)等同于b=false;if(b)..

回复 使用道具 举报
答案选c。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马