初步掌握java——运算符
java中有关运算的运算符有:算数运算符、取模运算符、自增自减运算符、关系运算符、位运算符、逻辑运算符、移位运算符、三目运算符。
1、算数运算符:算数运算和平常在数学中没什么区别,只不过是乘以用*表示,除以用/表示,其结合方向都是从左向右的。
2、关系运算符:首先 关系运算符的结果为boolean类型,关系运算符的优先级要低于算数运算符,关系运算符之间也有不同优先级,==(等于)和!=(不等于)优先级要低于其他关系运算符。
3、位运算符:位运算是将数据先转化为二进制数,在逐位(bit)按规则运算。
-
-
- 按位与运算符(&),规则:全1则1,否则为0
- 按位或运算符(|),规则:全0则0,否则为1
- 按位非运算符(~),规则:遇1则0,遇0则1
- 按位异或运算符(^),规则:相同为0,不同为1。值得注意的的是,异或运算是可逆的,即对某个数据进行两次相同的异或运算,则结果会还原为原来的数值。
-
4、逻辑运算符:逻辑运算符&&和 | | 运算顺序是从左向右,而逻辑运算符!则是从右向左。值得注意的是逻辑运算可能会出现短路情况,即如果 | | 前的结果为真则 | | 后面的运算不会被执行,而位运算不会出现这种情况。
5、移位运算符:
-
-
- >>右移运算符:将二进制数据进行右移运算,相当于将对应的十进制数据除以2的n次方。
- <<左移运算符:将二进制数据进行左移运算,相当于将对应的十进制数据乘以2的n次方。
- >>>无符号右移运算符:无论正负,都在高位插入n个0.
-
6、三目运算符:<表达式1> ? <表达式2> : <表达式3> 先执行表达式1,如果结果为true则返回表达式2的值,否则返回表达式3的值。