运算符
算术运算符
基本四则运算符
+-*/%
1、int / int 结果还是 int, 需要使用 double 来计算
int a = 5;
int b = 2;
System.out.println(a / b);
// 结果为 2
2、0 不能作为除数
int a = 1;
int b = 0;
System.out.println(a / b)
// 运行结果
Exception in thread "main" java.lang.ArithmeticException: / by zero
at Test.main(Test.java:5)
3、% 表示取余, 不仅仅可以对 int 求模, 也能对 double 来求模
System.out.println(11.5 % 2.0);
// 运行结果
1.5
4、增量赋值运算符 += -= *= /= %=
5、自增/自减运算符 ++ –
关系运算符
六个关系运算符
== != > < >= <=
int a = 10;
int b = 20;
System.out.println(a == b);
System.out.println(a != b);
System.out.println(a < b);
System.out.println(a > b);
System.out.println(a <= b);
System.out.println(a >= b);
关系运算符的输出均为布尔类型
逻辑运算符
三个常用逻辑运算符
&& || !
逻辑与 &&:两个操作数都为 true, 结果为 true, 否则结果为 false
逻辑或 ||:两个操作数都为 false, 结果为 false, 否则结果为 true
逻辑非 !:操作数为 true, 结果为 false; 操作数为 false, 结果为 true
位运算符
四个位运算符
& | ~ ^
按位与 &:有零则零
按位或 | :有一则一
按位取反 ~ 零一互变
按位异或 ^ 同正异负
移位运算符
三个移位运算符
>> << >>>
<< 左移运算符:最左侧位不要了, 最右侧补 0
>> 右移运算符:最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)
>>> 无符号右移运算符最右侧位不要了, 最左侧补 0
条件运算符
唯一的三目运算符
表达式1 ? 表达式2 : 表达式3
当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值; 当 表达式1 的值为 false 时, 整个表达式的值为 表达式3的值
Java 中唯一的一个 三目运算符, 是条件判断语句的简化写法
// 求两个整数的最大值
int a = 10;
int b = 20;
int max = a > b ? a : b;