1.运算符
在java当中,使用运算符+、-、*、/ 表示加减乘除,当参与 / 运算的两个操作数都是整数的时候,表示整数除法;否则表示浮点数。整数的求余操作用 % 表示。
2.数值之间的转化
在程序运行的时候,我们经常需要将一种数值类型转化为另一种数值类型。下图给出了数值类型之间的合法转化。
3.强制类型转换
在上面我们可以看到,在必要的时候,int类型的值将会自动的转化为double类型。但另一方面,有时候也需要将double转化为int.。在java当中允许这种数值之间的类型转化。当然也会有以一些数据丢失。在这样情况之下,需要通过强制类型转换实现这个操作,强制类型的语法格式是通过()当中给出的想要转化的目标类型。如:byte a = (byte) 128;
4.结合赋值和运算符
可以在赋值当中使用二元运算,这是一种很简单的简写形式,例如:x += 1 等价于 x = x +1
5.自增和自减运算符
n = ++m,m先加1再赋值;n = m++,先赋值m再加1。--m和m--同理。
6.关系和boolean运算符
①:检测相等性: ==
②:检测不等:!=
③:最后,还有经常使用的<、>(、<=和>=
比较两个基础数据类型,返回值为true或者flase
④:java使用&&表示逻辑”与“运算符,使用||表示”或“运算符,
⑤:三目运算符:condition?expression1:expression2
7.位运算
处理数据类型的时候,可以直接对组成整形数值的各个位完成操作
与:&("and") 或:|("or") 非:~("not") 亦或:^("xor”)
①:按位与操作
0000 1010 10
0000 1100 12
0000 1000 8
②:按位或操作
0000 1010 10
0000 1100 12
0000 1110 14
③:~:按位取反
0000 1010 10
1111 0101 ~10
④:按位亦或操作
两个操作数对应位,相同则结果为0,不同则结果为1
0000 1010 10
0000 1100 12
0000 0110 6
2.移位运算
①:左移(<<)
右边空出来的位用0填补高位左移溢出则舍弃该高位
左移几位其实就是这个数 *2 的几次幂
②:右移(>>)
左边空出来的位用0或1填补,正数用0负数用1填补。
右移几位其实就是这个数/2的几次幂 -----》除法
③:无符号右移(>>>)
数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补
总结:左移右移其实操作的都是2的倍数