运算符
基本运算符

1 // ++ -- 自增,自减 单目运算符
2 int b = i++ ; //执行完这行代码后,先给b赋值,再自增
3 int b = ++i ; //执行完这行代码前,先自增,再给b赋值
4
5
6 //幂运算 用 Math.pow() ; 很多运算我们会使用一些工具类来操作
7 //计算2^3 2*2*2=8
8 double pow = Math.pow(2,3);
逻辑运算符
&& 逻辑与运算 都真才为真
|| 逻辑或运算 一真则真
! 逻辑非运算 真变假,假变真
注意:短路运算
1 int c = 5; 2 boolean d = (c<4) && (c++<4) 3 //输出c的值为5,c++没有执行,因为逻辑与运算中&&前面一个判断为假就不会再执行下去了
位运算符
-
与 &、或 |、非 ~、异或 ^
/*
A = 0011 1100
B = 0000 1101
---------------------------
A & B = 0000 1100 按位与 & 都1才为1
A | B = 0011 1101 按位或 | 都0才为0
A ^ B = 0011 0001 按位异或 ^ 对应相同为0,不同为1
~ B = 1111 0010 按位非 ~ 1变0,0变1
位运算内部的优先级从高到低为:
~ & ^ |
注:1)~为单目运算符,优先级与++等单目运算符同级,结合性为从右向左
2)对于异或运算有 a ^ 0 = a , a ^ a = 0
3)对于双目的位运算符,若两个操作数的类型不相同,则需要将低精度的
操作数转为对应的高精度的操作数,然后开始位运算
*/
-
左移、右移
/*效率极高!
<< 左移 >> 右移
相当于 *2 相当于 /2
0000 0000 0
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
2<<3 //结果为16
*/
字符串连接符 "+"
int a = 10;
int b = 20; //String
System.out.println(""+a+b); //结果为1020(字符串在+号前面,会进行字符串连接)
System.out.println(a+b+""); //结果为30(字符串在+号后面,会依旧对前面先进行计算)
条件运算符(三目运算符)
x ? y : z
如果 x == true , 则结果为 y , 否则结果为z
int score = 50;
String type = score<60 ?"不及格":"及格";
System.out.println(type); //不及格
拓展赋值运算符
+= -= *= /=
a += b; //a = a + b a -= b; //a = a - b

浙公网安备 33010602011771号