簡體   English   中英

為什么我可以在Java中將按位運算符與數學運算符(如&+)組合在一起?

[英]Why can I combine a bitwise operator with a math operator, like &+, in Java?

我今天早些時候寫了一些代碼,忘記了我正在編寫Java而不是Swift並且不小心輸入了&+ 令人驚訝的是,我沒有得到任何錯誤,代碼編譯並運行良好。

我玩了一下,發現&+&-|+|-^+^-都編譯運行沒有錯誤。 在對數字進行操作時,它們看起來像第一個按位運算符:

1 &+ 2 == 1 & 2
3 |+ 4 == 3 | 4
7 ^+ 9 == 7 ^ 9

另一方面,似乎任何其他的按位運算符和數學運算符的組合,如+&&/^* ,都會產生編譯時錯誤。

為什么&+&-|+|-^+^-編譯運行沒有錯誤? 他們有一些我沒有看到的目的,還是只是一些編譯奇怪的東西?

+代表Unary Plus Operator +結果為正數。

-表示Unary Minus Operator -產生負數。

  • 1 &+ 21 & +2
  • 3 |- 43 | -4 3 | -4
  • 7 ^+ 97 ^ +9

請注意, */運算符不能以相同的方式使用( 1 &/ 2 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM