java中的运算符
1.什么是运算符
运算符是对一个值或者多个值进行计算,并得出计算结果
运算结果的类型有时候是固定的,有时候是根据运算结果来的(两个int相加的结果类型是int,两个bype相加的结果类型是int)
除赋值运算外,计算并不会改变变量的值
1 | public class Operator { |
输出的结果是:
3
2
2.取模运算符 %
可以计算余数
负数可以取模
负数也可以被取模
小数也可以取模(基本不会遇到小数取模的场景)
取模的结果是正数还是负数,和%前面的数字是正还是负,是一致的
%后的数如果是0,java会报错
1 | public class Operator { |
3.整数的除法运算
int类型除以int类型,结果还是int类型,不会是浮点数
如果想要结果是浮点数,则除数和被除数,其中一个是浮点数即可
1 | public class Operator { |
输出结果:
3
1 | public class Operator { |
输出结果:
3.3333333333333335
4.比较运算符和布尔运算符
比较运算符
>=
<
<=
!=
==
布尔运算符(一般用&& 和 ||,而不用& 和 |)
! 非运算符,not运算符;!true=false ; !false=true
& 与运算符,只要有一个为false,结果就是false
&& 与运算符,运算结果和&一样
| 或运算符,只要有一个为true,结果就为true
|| 或运算符,运算结果和|一样 (区别在于,如果使用的是||,那只要第一个操作数已经是true了,就不会在计算后一个操作数是true还是false,但是如果使用的是|,会把两个操作数的结果都计算出来,然后再比较)
5.小括号运算符
- 小括号运算符中可以包含任何运算符,小括号决定了运算的顺序
6.运算符的优先级
( )
!
*,/,%
+,-
>,>=,<,<=
==
!=
&,&&,|,||
=
为什么赋值运算符优先级最低:因为要选把所有操作数计算完才能赋值
为什么布尔运算符的优先级低于比较运算符:因为要先比较完大小,得到true或false的结论,才能进行true和false的运算
为什么比较运算符的优先级低于算数运算符:因为要先进行计算,然后再拿结果比较大小