Java运算符就是:
对常用和变量进行操作的符号
常用的运算符有:
算数运算符
赋值运算符
关系运算符
逻辑运算符
三元运算符
位运算符
算数运算符
(整数相除,只能得到整数,如果想得到小数, 必须有浮点型参与运算)
+,-,*,/.%(取余),++,- -
++,- - ,:对变量进行+1或者-1的操作。
++: 单独使用,不管变量在前还是在后,结果都是一样
参与操作,如果++在变量的后面,先拿变量参与运算,后自增,
如果++在变量的前面,变量先自增,后参与运算
字符与字符串参与加法运算
字符串参与运算时,实际上是字符对于计算机底层存储的数值来参与运算的
字符串参加法运算时,实际上是字符串拼接
字符串和其他数据类型做拼接,结果都是字符串类型
赋值运算符
基本:=
拓展;+=, -=, /=, %=
+=
a = (a的数据类型)(a+20)
关系运算符
== , != ,>, <, >=, <= ,
关系运算符得到结果都是boolean类型,结果要么是true,要么是false
注意:
千万不要把 == 写成 =
逻辑运算符
&(与), |(或),!, ^
用来连接boolean类型的表达式或者值
(与)&:有false则false(判断)(两边有一个错的,整体就是错的)
(或)|: 有true在则true(两边有一个是对的,整体就是对的)
(异或)^;相同则false,不同则true(男女,男男)(两边是不同的结果,就是对的,相同就是错的)
(非)!: true则false,false则true
&与&&, | 与 | | 的 区别:
& 与 &&:
&&有短路效果,左边是false,右边不执行.
&不管左边false还是true,右边都会执行
| 与 | | :
||:有短路效果,左边是true,右边不执行
|:有true则true
位运算符
&,|,^,~,>>,<<,>>>,
(位与)&:同时为1,则为1
(位或)|:有一个为1,则为1
(位异或)^:相同为0,不同为1
(位非)~:取反
位运算符:>>,<<,>>>
左移:<< 丢弃最高位,0补最低位
右移:>> 符号位不变,左边补符号位
无符号右移:>>>
三元运算符
格式:
(关系表达式)?表达式1:表达式2
如果true,结果就是表达式1
如果是false,结果就是表达式2
原码,反码 ,补码的区别:
5
原码: 0000 0000 0000 0000 0000 0000 0000 0101
反码: 0000 0000 0000 0000 0000 0000 0000 0101
补码: 0000 0000 0000 0000 0000 0000 0000 0101
正数的原码,反码,补码都一样,计算机存储的时候按照【补码】存储
-5
原码: 1000 0000 0000 0000 0000 0000 0000 0101
反码: 1111 1111 1111 1111 1111 1111 1111 1010
补码: 1111 1111 1111 1111 1111 1111 1111 1011
负数的原码最高位为符号位
负数的反码,除最高位不变,其他位取反
负数的补码,负数的反码最后一位+1