java吧 关注:1,292,878贴子:12,826,509
  • 14回复贴,共1

这个输出结果怎么是ture

只看楼主收藏回复

boolean a = i++ ==2;
System.out.println(a); 结果是ture
if(i++ ==2){
System.out.println("true");
}else{
System.out.println("false");
}
后一个输出结果是false 这两个有什么区别吗?


IP属地:北京1楼2018-02-28 14:17回复
    第一个在第二个运行过后运行的


    IP属地:北京2楼2018-02-28 14:24
    回复
      2025-12-29 00:27:46
      广告
      不感兴趣
      开通SVIP免广告
      i等于几啊。。。。


      IP属地:上海来自Android客户端3楼2018-02-28 14:35
      回复
        哦,看到注释了,第一个a是true的话就说明i原来是2,第一行代码执行过后i变成3,所以下面执行else输出false


        IP属地:上海来自Android客户端4楼2018-02-28 14:37
        收起回复
          i是先赋值给a,后增加1,所以a等于2了,i等于3


          IP属地:湖北来自iPhone客户端5楼2018-02-28 16:38
          收起回复
            求正解


            IP属地:江苏来自iPhone客户端6楼2018-03-03 18:18
            回复