转义字符、运算符
转义字符
\n : 换行符
\t : 制表符 tab键
\ \ : \
运算符
表达式:由操作数和符号组成的式子
操作数:变量、常量、字面量
变量的值可进行多次修改
常量指值一旦确定,就不可更改
字面量就是数值,例如3,5,’A‘,true这些都是字面量
符号:指运算符
1.算术运算符:+、-、*、/、%(取余)、++、--
如果参与除法运算的操作数都是整数,那么就取整
如果有浮点型参与除法运算,那么就是正常除法
表达式运算结果的数据类型,按照参与运算的操作数里,表述范围最大的类型来
++写在变量的前面或后面,变量本身都会自增1
++在前,先自增,再参与其他运算 ++在后,先参与其他运算,再自增
2.赋值运算符:+=、-=、*=、/=、%=、=
byte、short进行四则运算,结果会被转换为int
复合运算符会帮我们转换类型
3.比较运算符:> 、= 、<= 、!= 、==
比较运算的结果肯定是布尔值
不允许连续使用表述范围的关系运算符
4.逻辑运算符: &&(短路与)、||(短路或) 、 !(非) 、&(通路与) 、|(通路或)
逻辑运算的结果肯定是布尔值
&&(短路与):连接的表达式或值的结果,必须是布尔类型
连接的表达式中某个表达式的结果为false,后面的表达式都不执行
有假即为假,连接的表达式中只要有一个结果为false,整体的结果就是false
&(通路与):知道开始某个表达式结果为false,还会往后执行
短路和通路不影响最终结果
||(短路或):有真即为真,连接的表达式中某个表达式的结果为true,后面的表达式都不执行
|(通路或):知道开始某个表达式结果为true,还会往后执行
!(非):取反,只能对布尔类型进行取反操作
对false取反,结果为true
对true取反,结果为false
运算优先级仅次于括号
5.三目运算符
形式:结果为布尔类型的表达式或者布尔值 ? 值1:值2
?前结果为true,整体式子的结果为值1
?前结果为false,整体式子的结果为值2
可以用来 比较数字值大小
6.位运算符(二进制范畴):<>(右移) 、 &(按位与)、|(按位或)、 ^(异或)、~(按位取反)
m << n 结果就是 m * 2的n次幂------使用场景-把谁快速变成谁
左移超出,进入循环,逻辑上溢出
左移运算符m<<n表示把m左移n位,左移n位的时候,最左边的n位将被丢弃,同时在最右边补上n个0,比如:00001010 << 2 = 00101000
m >> n 结果就是 m / 2的n次幂(取整)
右移超出结果都是0,不产生溢出
>>>无符号右移,无符号只有右移没有左移
&:有0即为0
|:有1即为1
^:相同即为0,不同即为1
任何数字和0异或,结果为它本身 a ^ 0 = a
任何数字和它本身异或,结果为0 a ^ a = 0
异或符合交换律 a ^ b = b ^ a
异或符合结合律 a ^ b ^ c = a ^ (b ^ c)
~(不管符号位):单目运算符,具有右结合性,对n取反为- (n + 1)