1. 程式人生 > >java運算子優先順序

java運算子優先順序

優先順序記憶方法

優先順序記憶方法:單目乘除為關係,邏輯三目後賦值。(前輩總結的) 單目運算子:一次作用一個變數的運算子,又叫一元運算子 單目:單目運算子+ –(正負數) ,++ --,!(邏輯非),~(按位取反) 乘除:算數運算子:* / % + - (* / %優先順序肯定是大於+-的) 為:位運算子:~(按位取反)<<(左移) >>(右移),^(也可以位運算,二進位制異或) 關係:關係運算符:> < >= <= == != 邏輯:邏輯運算子(除!)&& || & | ^ 三目:條件運算子A > B ? X : Y 後:無意義,僅僅為了湊字數
賦值:= += -= *= /= %= |= &= ^= 說明:前優先順序大於後,比如單目運算子~也是位運算子,~的優先順序是單目級別的。至於賦值運算子中沒有見過的自行測試

與或優先順序

我在一段時間裡認為與或的優先順序一樣,在一起使用也按照同級運算子是順序執行的來認為的,實際上與的優先順序是與大於或。

位運算與或

//位運算與優先順序大於位運算或,順序執行10|01&01結果為1,而正確答案是3
System.out.println(2|1&1);

邏輯與或

//邏輯與的優先順序要大於邏輯或,順序執行false ,而正確答案是ture
System.out.println(true||true&&false);

資料庫中的與或


自己給自己出的題

byte i = 0;
String s = 4 - ++i*2 >> 2-1 > 0 ? "分析正確" : "分析錯誤";
System.out.println(s);
答案嘛,你猜!