一:运算符
1.1:算数运算符
基本算数运算符有+,-,*,/,%。加减乘我就不介绍了,基本的运算方法。
除法:/:来看一个简单的代码。
按正常来说这里应该输出的0.5才对,因为1和2为整形所以默认println输出的也微整形所以会输出0
这样就可以输出0.5
这个编译是可以通过的但是结果是出不来的,所以0不能作为除数。算数异常。
%取余:不仅仅可以对int求模也可以对double求模。
增值运算符:+=,-=,*=,/=,%=也叫符合运算符。
自增/自减运算符:++ --
可以看出前置是先运算后赋值,后置则是先赋值后运算。但是其结果是一样的。
1.2:关系运算符
关系运算有六个分别是:==,!=,<,>,<=,>=。
不难看出结果只输出boolean类型,所以关系运算符的返回值都是boolean类型的。
1.3:逻辑运算符
逻辑运算符主要有三个:&&,||,!
注意:其结果和返回值都是boolean类型
逻辑与&&
从中不难看出只有两边同时为真才会输出ture反之则相反
逻辑或:||
可以看出只要其中一个为真则为真如果两个都为假的话那就是假了。
逻辑非:!
可以看出报错了,愿意你是非只能作用于boolean类型
这样子就可以了。
短路求值:
&&一旦表达式一为假那么就不会执行表达式二
||一旦表达式以为真就没有必要执行表达式二
& |这个是不推荐使用的因为它们不支持短路求值
1.4位运算符
Java中对数据的操作最小单位是二进制而不是字节
位运算主要有4个:& | ~ ^
按位与&:
如果两个二进制为都是1则结果为1否则结果为0,按位运算实现要将其转换为二进制的形式。
按位或|:
如果两个二进制都为0 则结果为0否则结果为1。
注意:当&和|的操作数为整数(int,short,long,byte)的时候,表示按位运算,当操作数为boolean的时候,表示逻辑运算。
按位取反:~
注意:0x前缀的数字为16进制数字,0xf表示10进制的15,也就是二进制的1111,后面的输出是直接按照16进制位输出的。
如果该位为0则转为1,如果为1则转为0
按位异或^
如果两个数字的二进制位相同,则结果为0相异则结果为1。
1.5:位移运算符
有三个:<<,>>,>>>,都是二进制来进行计算的
左移:<<:最左侧不要了右侧补0 就可以了
右移:>>:最右侧不要了最左侧补符号位(正数补0,负数补1)
无符号右移:>>>:最右侧不要了,在最左侧补0 记住是只补0。
1.6:条件运算符:只有一个:表达式1 ?表达式2:表达式3
如果表达式1为真执行表达式2如果表达式1为假直接执行表达式3
1.7运算符的优先级:建议直接带括号 。