目录
📢1.什么是操作符
运算符是指对操作数进行某种操作的符号,也就是参入运算的符号
根据要操作的操作数不同,可以将它分为单目运算符(一个操作数),双目运算符(两个操作数),还有三目运算符(三个操作数)
在Java中,运算符的种类有算数运算符、关系运算符、逻辑运算符、位运算符、移位运算符、还有条件运算符
📢2.算术运算符
Java中算术运算符包括+(加)、-(减)、*(乘)、/(除)、%(取余)以及组合使用的++(自增)和--(自减)。
其中取余(%),支持小数进行取余(在C语言中只能进行整数取余)
例如:11.5%2的结果为1.5。
📢可以对负数进行取余
public class TestDemo{
public static void main(String[] args) {
System.out.println(10%3);
System.out.println(10%-3);
System.out.println(-10%3);
System.out.println(-10%-3);
}
}
当被除数为正数时,取余的结果就是正数
当被除数为负数时,取余的结果就是负数
也就是说,取余的结果取决于被除数的正负,与除数无关
自增运算符包括前置++(先加加,在使用)与后置++(先使用,再加加)
不同类型的变量相加减,需要强制类型转化
short c=(short)(a+b);
但使用自增运算符,是不需要进行强制类型转换的,程序会自动转化为接收的变量类型
a+=b;
自减也一样
📢3.关系运算符
关系运算符包括 ==(判断相等) !=(判断不相等) <= >=
关系运算符在判断语句中很常见,不过前提是这些判断表达式必须是布尔表达式
也就是说,表达式的结果要么是true,要么是false
📢4.逻辑表达式
逻辑表达式包括 &&(逻辑与)、||(逻辑****或) 、!(逻辑取反)
📢**&&(逻辑与)**
表达式1表达式2结果真真真真假假假假假
📢**||(逻辑或)**
表达式1表达式2结果真真真真假真假真真假假假
📢短路求值
按位与、按位或支持短路求值(如果前面一个表达就可以判断结果,程序就不会运行第二个表达式)。
例:(10>20) && (10/0==0)
上述表达式,java程序中运行10/0表达式时,会出现报错
但前面表达式的结果为false,就不会运行第二个表达式,最终程序就不会报错
一个&、|符号也能表示逻辑与和逻辑或,如果两边的表达式不是布尔表达式的时候,就是位运算符。但是这样实现的话,就没有短路求值,也就是说,程序会运行所有的表达式。
例:(10>20) & (10/0==0)这样程序就会报错
📢5.位运算符
计算机的数据都是以二进制的形式储存的,位运算符的操作单位也是二进制。
位运算符包括 &、|、~、^
**&(按位与):**如果数字有一个为 0 则为零,否则为 1
**|(按位或):**一个是 1 结果就是 1 否则是 0
**^(按位异或):**如果数字相同则计为 0,如果不相同则计为 1
**~(按位取反):**相互取反 1->0 0->1
📢6.移位运算符
<<:左移运算符
0000 1011 11
11<<1=>00010110=22
11<<2=>00101100=44
:右移运算符(最高位补符号位)
0000 1011 11
11>>1=>0000 0101=5
:无符号右移运算符(忽略了符号位扩展,0补最高位)
📢7.条件运算符
Java中的条件运算符(?:)
<表达式1> ? <表达式2> : <表达式3>
对表达式1进行判断,如果为true,则结果取表达式2的结果
对表达式1进行判断,如果为false,则结果取表达式3的结果
📢8.运算符的优先级
Java运算符—优先级
优先级运算符1() [ ] .2 ! +(正) -(负) ~ ++ --3* / %4+(加) -(减)5<< >> >>>6< <= > >=7== !=8&(按位与)9^10|11&&12||13?:14= += -= *= /= %= &= |= ^= ~= <<= >>= >>>=
欢迎点赞收藏加关注,如若有问题可以提出来😁😁😁😁
版权归原作者 诚挚的乔治 所有, 如有侵权,请联系我们删除。