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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© why910107 中级黑马   /  2016-6-6 22:53  /  688 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 why910107 于 2016-6-6 22:54 编辑

class H {
    public static void main(String [] args){                                                  
          int num=100;
          if(num ++ >100); {
          num =200;
       }
          System.out.println(num);
    }
}

看码说结果  应该是多少啊

8 个回复

正序浏览
你们整的还挺乱
++前置,先运算,后使用
++后置,先使用,后赋值
回复 使用道具 举报
  1. public class Test {
  2.         public static void main(String[] args) {

  3.                 int num = 100;
  4.                 if (num++ > 100)
  5.                         ;
  6.                 //下面是代码块,对num进行赋值运算,所以num最终必然是200
  7.                 {
  8.                         num = 200;
  9.                 }
  10.                 System.out.println(num);
  11.         }
  12. }
复制代码
回复 使用道具 举报
  1. public class Test2 {
  2.         public static void main(String[] args) {

  3.                 int num = 100;
  4.                 if (num++ > 100)
  5.                         ;
  6.                 {
  7.                         num = 200;
  8.                 }
  9.                 System.out.println(num);
  10.         }
  11. }
复制代码
回复 使用道具 举报
额   你打了个分号   就把if语句结束了    但后面大括号的代码块不是也会执行吗   所以打印的不是200吗  虽然我没试过
回复 使用道具 举报 1 0
你的格式有错误,if后边有个分号;我说呢,下次认真一点。唉,差点怀疑我学的东西对不对了。输出J结果应为101,num自增后才执行输出语句。早点睡吧
回复 使用道具 举报
那应该是运算符优先级的问题吧,++的优先级大于>.我也有点搞不明白了,明天再给你答复。
回复 使用道具 举报
见著 发表于 2016-6-6 23:00
100,++在右边,num先参与比较运算才自增,if结果为false,输出100

你试了吗   怎么结果是200
回复 使用道具 举报
100,++在右边,num先参与比较运算才自增,if结果为false,输出100
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马