JAVA提供了丰富的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等等。
一:算术运算符
1.加减运算符:加减运算符是二目运算符,即连接两个操作元的运算符。运算结合方向是从左到右。操作类型:整形、浮点型数据。优先等级:四级。
2.乘除和求余运算符:乘除和求余的运算符*、/、%是二目运算符,运算结合方向是从左到右。操作类型是整形或浮点型数据。优先等级:三级。
3.自增自减运算符:自增自减运算符++、--是单目运算符。可放在操作元之前,也可放在操作元之后。操作元必须是一个整形或浮点型变量,作用是使自变量的值增1或者减1,
++x(--x)表示在使用x之前,先使x的值增(减)1。
x++(x--)表示在使用x之后,在对x执行x=x+1。
二者是不同的
4.算数混合运算的精度
精度从低到高的排列顺序是:byte、short、char、int、long、float、double
整数运算规则:1.如果两个操作数有一个是long,则结果是long。
2.没有long时,结果是int。即使操作数全为short、byte。结果也为int。
浮点运算规则:1.如果两个操作数有一个是double,则结果为double。
2.只有两个操作数都float,结果才为float.
用算数运算符和括号连接起来的符合JAVA语法规则的式子,称为算数表达式。
二:赋值运算
赋值运算“=”是二目运算符,左边的操作元必须是一个变量,不能是常量或表达式。运算结合方向:从右到左;优先等级:14级。
注:“=”表示赋值于,“==”表示等于;例如:2=2是非法的表达式,而2==2是true.
运算符 | 含义 | 范例 | 结果 |
---|---|---|---|
= | 赋值 | a=1;b=6 | a=1;b=6 |
+= | 加等于 | a=1;b=6;a+=b | a=7;b=6 |
-= | 减等于 | a=1;b=6;a-=b | a=-5;b=6 |
*= | 乘等于 | a=1;b=6;a*=b | a=6;b=6 |
/= | 除等于 | a=1;b=6;a/=b | a=0;b=6 |
%= | 余等于 | a=1;b=6;a%=b | a=6;b=6 |
三:关系运算
关系运算是二目运算符,作用:用来比较两个值的关系。关系运算的结果是布尔型,结果为true/false。
运算符 | 含义 | 示例 |
---|---|---|
== | 等于 | a==b |
!= | 不等于 | a!=b |
> | 大于 | a>b |
< | 小于 | a<b |
>= | 大于或等于 | a>=b |
<= | 小于或等于 | a<=b |
四:逻辑运算
逻辑运算包括&&、||、!。其中&&、||为二目运算符,实现逻辑与、逻辑或,!为单目运算符,实现逻辑非。逻辑运算的操作元必须是boolean型数据,逻辑运算符可以用来连接关系表达式。
运算符 | 含义 | 结合方向 |
---|---|---|
&& | 逻辑与 | 左到右 |
|| | 逻辑或 | 左到右 |
! | 逻辑非 | 右到左 |
五:位运算符
(1)位运算符是对操作数以二进制比特位为单位进行操作和运算,操作数和结果都是整型数。
(2)如果操作的对象是char、byte、short,位移动作发生前其值会自动晋升为int,运算结果也是int。
运算符的结合性决定了并列的相同级别运算的先后顺序。