Java編程那些事兒28—運算子優先順序

來源:互聯網
上載者:User

 

Java編程那些事兒28—運算子優先順序鄭州遊戲學院 陳躍峰出自:http://blog.csdn.net/mailbomb  4.7 運算子優先順序         在實際的開發中,可能在一個運算式中出現多個運算子,那麼計算時,就按照優先順序層級的高低進行計算,層級高的運算子先運算,層級低的運算子後計算,具體運算子的優先順序見下表:運算子優先順序表
優先順序 運算子 結合性
1 () [] . 從左至右
2 ! +(正)  -(負) ~ ++ -- 從右向左
3 * / % 從左向右
4 +(加) -(減) 從左向右
5 << >> >>> 從左向右
6 < <= > >= instanceof 從左向右
7 ==   != 從左向右
8 &(按位與) 從左向右
9 ^ 從左向右
10 | 從左向右
11 && 從左向右
12 || 從左向右
13 ?: 從右向左
14 = += -= *= /= %= &= |= ^=  ~=  <<= >>=   >>>= 從右向左
         說明:1、 該表中優先順序按照從高到低的順序書寫,也就是優先順序為1的優先順序最高,優先順序14的優先順序最低。2、 結合性是指運算子結合的順序,通常都是從左至右。從右向左的運算子最典型的就是負號,例如3+-4,則意義為3加-4,符號首先和運算子右側的內容結合。3、 instanceof作用是判斷對象是否為某個類或介面類型,後續有詳細介紹。4、 注意區分加號或減號和加減號,以及按位與和邏輯與的區別其實在實際的開發中,不需要去記憶運算子的優先順序別,也不要刻意的使用運算子的優先順序別,對於不清楚優先順序的地方使用小括弧去進行替代,範例程式碼:         int m = 12;         int n = m << 1 + 2;         int n = m << (1 + 2); //這樣更直觀這樣書寫代碼,更方便編寫代碼,也便於代碼的閱讀和維護。 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.