运算符
算术运算符+,-, * ,/,%,++,--
+加法运算 数值+数值
+字符串连接 字符串+字符串 / 数值+字符串
++自增1;++在前,先自增在运算,++在后,先运算在自增.
其余类似
关系(比较)运算符: >,<,>= ,<= , == ,!=
输出布尔型
int a = 3; int b = 4; System.out.println(a==b);//数值比较,相等输出true;不等输出false.a
String s = "abc"; String s1 = "abc"; System.out.println(s==s1);//引用类比较,相等输出true;不等输出false.
字符串比较==,其他不可比较
赋值运算符: = ,+ = ,- = , * = ,/ = ,%=
int a = 1;
int b = 2;
b += a;//b = b + a
System.out.print(b);
注意事项
左右数据类型不一致时系统报错,但如果使用+=、-=、* = ,/ = ,%=时,系统默认进行强制数据转换.
short s = 2;//s = s+3; //s = short+int-->int s += 3;//short s = (short)(s+3 int) += 中进行了一个隐式的强制数据类型转换System.out.println(s);
其他赋值运算符类似
逻辑运算符: & ,| ,!, ^,&&,||
逻辑运算要求 运算左右都必须是布尔值
例:int a = 1; int b = 2; int c = 3;
System.out.println(a >b & b < c );// false & true = false 当前面已经返回false时继续执行后面的指令
System.out.println(a > b && b < c );// false & true = false当前面返回false时短路,不执行后面的指令
其他逻辑运算符类似
逻辑法则表
条件运算符
条件运算符 三元运算符(条件表达式)?表达式1:表达式2 条件为true表达式1 条件为false表达式2
最终返回一个与前面声明类型相同的数据
例:int a = 1;int b = 2;int max = (a>b)?a:b;
位运算符
位运算 位--->指的是二进制bit位 bit位运算 更底层
<< 左移 、 >> 右移 、>>>无符号右移、 & 与 、| 或、^异或、
~非.是逻辑运算值时,属于逻辑运算
不是逻辑运算值时,属于位运算
int a = 4;
0000 0100
0000 1000
a<<1,左移一位
a>>1,右移一位;a>>>1,右移一位,无符号右移,不管前面是什么,移动后统一补0
&,每一位bit位进行 与 运算
|,每一位bit位进行 或 运算
^, 每一位bit位进行 异或 运算
//两个变量交换值,可以使用^运算
int a = 4;//0000 0100
int b = 3;//0000 0011
a = a^b;//0000 0111 7
b= a^b;//0000 0100 4
a= a^b;//0000 0011 3
System.out.println(a);//3
System.out.println(b);//4