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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王雷 中级黑马   /  2012-9-25 23:46  /  1216 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. 第一题
  2. int x = 1,y = 1;

  3. if(x++==2 & ++y==2)  {
  4.         x =7;
  5. }
  6. System.out.println("x="+x+",y="+y);  
  7. x=2   y=2
  8. ---------------------------------------------------
  9. 第二题
  10. int x = 1,y = 1;

  11. if(x++==2 && ++y==2)
  12. {
  13.         x =7;
  14. }
  15. System.out.println("x="+x+",y="+y);
  16. x=2  y=1
  17. ---------------------------------------------------

  18. 第三题
  19. int x = 1,y = 1;

  20. if(x++==1 | ++y==1)
  21. {
  22.         x =7;
  23. }
  24. System.out.println("x="+x+",y="+y);
  25. x=7  y=2
  26. ---------------------------------------------------

  27. 第四题
  28. int x = 1,y = 1;

  29. if(x++==1 || ++y==1)
  30. {
  31.         x =7;
  32. }
  33. System.out.println("x="+x+",y="+y);
  34. x=7  y=1
  35. ---------------------------------------------------
复制代码

评分

参与人数 1技术分 +1 收起 理由
王海宇 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
老套路:考查&和&&、|和||的区别,考查前++,后++区别。记住老毕说的,&前后都参与运算,如果前面为假,&&后面不参与运算。|前后都参与运算,如果前后为真,||后面不参与运算。前++,先回家吃饭再出去玩,后++先出去玩再回家吃饭。理解了上面,做题的时候仔细些,套公式就可以了。

第一题
思路:&前后都要运算。
x++ == 2表示x 是否等于2,否,然后x自增,结果x = 2;
++y == 2表示y 先自增1,此时y = 2,再判断 y == 2,结果是真。
if (假 & 真 = 假) {
x = 7;
}
显然 x 不会等于7,那么结果是x = 2, y = 2;

按照这样的思路下去后面不会出错的了,就写这么多!谢谢!

评分

参与人数 1技术分 +1 收起 理由
王海宇 + 1

查看全部评分

回复 使用道具 举报
哈哈 基础很不错啊  我有点蒙
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马