刚才、超人兄在群里说了一个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
运算符综述
Java 的
表达式就是用
运算符连接起来的符合Java 规则的式子.运算符的
优先级决定了表达式中运算执行的先后顺序.例如,x<y&&!z相当于(x<y)&&(!z),没有必要去记忆运算符号的优先级别,在编写
程序时可尽量的使用括号来实现你想要的运算次序,以免产生难以阅读或含糊不清的计算顺序.运算符的结合性决定了并列相同级别的运算符的先后顺序,例如,加减的结合性是从左到右,8-5+3 相当于(8-5)+3.逻辑否运算符 的结合性是右到左, x 相当于!(!x).表3.4是Java所有运算符的优先级和结合性。
位移
<< 带符号左移 >>带符号右移 >>> 无号右移
运算符优先级
按
优先级从高到低排列如下:[ ] ( ) ++ -- ! ~ instanceof * / % + - << >> >>> <> < = > \ == != &^& & || ? := op= 。