java吧 关注:1,241,085贴子:12,712,883
  • 21回复贴,共1

求老司机帮帮忙

只看楼主收藏回复

初学 java int i=0; int j=i+++i; j 为啥=1 搞不懂 i++ ++i 知道 一个是 先用后加 一个是先加后用 但是 还是没理解, 如题 i+++i 为啥j最后等于1 。 比如 i++ i是0的话 是 0++的意思吗 那0++ 是 0+1+1 还是0+0+0


1楼2016-03-29 22:29回复
    有人吗


    2楼2016-03-29 22:30
    回复
      +1


      3楼2016-03-29 22:31
      回复
        现场等


        4楼2016-03-29 22:31
        回复
          +1


          5楼2016-03-29 22:32
          回复
            +1


            6楼2016-03-29 22:34
            回复
              现场等啊


              7楼2016-03-29 22:36
              回复
                开车咯,快上车呜呜~嘀嘀~


                IP属地:陕西来自Android客户端8楼2016-03-29 22:38
                回复
                  等价值j=(i++)+i


                  IP属地:湖北来自iPhone客户端10楼2016-03-29 22:40
                  收起回复
                    不管是(i++)+i 还是i+(++i)结果都是1。第一种情况,i是0,0作为第一个加数运算后,自增1,第二个加数是1。


                    IP属地:陕西来自Android客户端11楼2016-03-29 22:41
                    回复
                      第二种 第一个i是0,第二个i是先自增1,再参加运算。所以结果还是1。


                      IP属地:陕西来自Android客户端12楼2016-03-29 22:41
                      收起回复
                        但是 这个i+++i到底先哪个,再哪个,运算符优先级我不太清楚


                        IP属地:陕西来自Android客户端13楼2016-03-29 22:42
                        收起回复
                          优先级申明吧。。


                          IP属地:福建来自Android客户端14楼2016-03-29 22:46
                          回复
                            单目运算符优于双目运算符


                            IP属地:山东15楼2016-03-29 23:14
                            回复