赋值运算符
int var = value
赋值运算符,用于把右边的量value赋值给左边的变量var。
算术运算符
+ - * / %
/ 表示整除。两个整数相除结果为整;两个浮点数相除结果为小数。
% 表示取余数,也叫求模。
%a结果就不会超过a
i++/i—-
i++/i--:i先参与运算,运算完成后自加/减1。
++i/--i
++i:i在参与运算前就自加1.
拓展运算符
+= -= *= /= %=
关系运算符
>、<、>=、 <=、 ==、 !=
关系运算符的结果是布尔类型。
逻辑运算符
逻辑运算符 &&(与)、||(或)、非(!)
逻辑运算符两边的表达式一定是布尔值,结果也是布尔值。
逻辑与 && => 表示并且、且
true && true = true
逻辑&&的短路运算
当逻辑&&左边的表达式结果为false时,第二个表达式将不进行任何运算。
逻辑或 || => 表示或者、或
运算规则
true || true = true
true || false = true
false || true = true
false || false = false
逻辑||两边的表达式只要有一个为true,结果为true
逻辑||的短路运算
逻辑||左边的表达式如果为true,第二个表达式将不进行任何运算。
逻辑非
!true = false
!false = true
位运算符
~ -- 取反
~0000 0000 = 1111 1111
& -- 按位与
0000 1010
& 0000 0000
-------------
0000 0000
| -- 按位或
0000 1010
| 0000 0000
-------------
0000 1010
^ -- 按位异或:相同为0,不同为1
0000 1010
^ 0000 1000
-------------
0000 0010
<<:左移运算符
0000 1010 << 2 => 0010 1000
左移n位,相当于乘以2n
>>:右移运算符
右移n位,相当于除以2n
三目运算符
(布尔表达式) ? r1 : r2
布尔表达式为true,这个运算的结果取r1,否则取r2。
public class Test19{ public static void main(String[] args){
int a = 2; int b = 10; int r = (a>b)? 1:2; System.out.println("r="+r);
// 案例:求两个数的最大值 int m = 10; int n = 4; int max = 0; max = (m>n) ? m : n; System.out.println("max="+max); } } |
字符串连接符+
“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接.。
表达式
在复杂的表达式中,想让谁先运算,加()。