java中a++和++a在較複雜的運算中分析

來源:互聯網
上載者:User

標籤:rgs   font   fonts   detail   方式   str   center   iss   stat   

關於連加和連減:http://blog.csdn.net/ieayoio/article/details/46431843

以下是一段普遍都瞭解的代碼:

public static void main(String[] args) {int a=3;System.out.println(a++ +1);//4System.out.println(a);//4System.out.println(++a +1);//6}

a++是先計算再++。而++a相反


事實上準確的說事實上是在每一步上使用我們上面說到的規則,這裡a++ + ++a等於8。是由於3+5等於8,第一次遇到a++時a的值為3,可是運行玩之後值就變為了4,又經過了++a的運算就變成了5

但是在看以下的一段程式:


由於加好中間有了空格,被理解為了連加,所以如今是3+4等於7


假設上面的理解了,以下一段代碼就十分easy:



事實上就是4+5=9,由於是++a。所以會先++,等到運算到第二個++a時。a已經是4了,所以答案是9

再看一個比較複雜的範例:


以下是分析:



總結:所以根本還是掌握a++是先參與計算再++,++a是先++再參與計算,僅僅是a的值的變化不是一個公式做完才變化。而是每一步計算之後都有可能變化

由此可見++運算參與到普通的運算裡可讀性就會變的非常差,另外,由於連加的影響。可能一不小心就全然是令一個結果,所以盡量還是不要讓++運算參與到太複雜的運算中,全然能夠選擇替他替代的方式












java中a++和++a在較複雜的運算中分析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.