2013年8月23日、1 ^1+1不等2、哈哈

剛纔、超人兄在羣裏說了一個tb驗證碼、


哈哈、當你知道^是幾次方是對的、是得2

但是java語言裏是^:兩邊的位不同時,結果爲1,否則爲0.

還有運算符的優先級、哈哈

上當了、過去的知識就給忘了呢、還是學以致用的好、O(∩_∩)O哈哈~

在計算的的思維裏都是0和1、二進制數、

0001
0010

------
0011

答案是:3

好吧我們回顧下java語言中的運算符

運算符

算術

單目:+(取正)-(取負) ++(自增1) - -(自減1)
雙目:+ - * / %(取餘)
三目:a>b?true:false 說明:當a大於b的時候,爲true(也就是冒號之前的值),否則爲false;這整個運算符包括一個關係運算符(可以是“>”"<""!="等等),一個“?”,一個“:”,冒號前後需要有兩個表達式或者是值或者是對象。關係
等於符號:==,不等於符號:!= ,大於符號:>, 小於符號:<,大於等於符號:>= ,小於等於符號:<= 。

位與邏輯

運算符 與(&)、非(~)、或(|)、異或(^)
&:當兩邊操作數的位同時爲1時,結果爲1,否則爲0。如1100&1010=1000
| :當兩邊操作數的位有一邊爲1時,結果爲1,否則爲0。如1100|1010=1110
~:0變1,1變0
^:兩邊的位不同時,結果爲1,否則爲0.如1100^1010=0110
與(&&)、非(!)、或(||)

賦值

= += -= *= /= %= &= ^= |= <<= >>=

instanceof

運算符雙目運算符,左面的操作元是一個對象,右面是一個類。當左面的對象是右面的類創建的對象時,該運算符運算結果是true,否則是false。

運算符綜述

Java 的表達式就是用運算符連接起來的符合Java 規則的式子.運算符的優先級決定了表達式中運算執行的先後順序.例如,x<y&&!z相當於(x<y)&&(!z),沒有必要去記憶運算符號的優先級別,在編寫程序時可儘量的使用括號來實現你想要的運算次序,以免產生難以閱讀或含糊不清的計算順序.運算符的結合性決定了並列相同級別的運算符的先後順序,例如,加減的結合性是從左到右,8-5+3 相當於(8-5)+3.邏輯否運算符 的結合性是右到左, x 相當於!(!x).表3.4是Java所有運算符的優先級和結合性。

位移

<< 帶符號左移 >>帶符號右移 >>> 無號右移

運算符優先級

優先級從高到低排列如下:[ ] ( ) ++ -- ! ~ instanceof * / % + - << >> >>> <> < = > \ == != &^& & || ? := op= 。

編輯本段


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章