子曰:巧言令色,鲜矣仁。 -- 孔子说,凡是温顺随和,装出和蔼可亲的人,极少是有同情心的人。 你就是你,不要装,做最真实的自己!
运算符
1.算数运算符 +正号 -负号 + - * / ++ ++ - - - - +连接符 %取模(结果的符号取决于被模数,即前面那个数)2.赋值运算符 = += -= /= *= %=
3.比较运算符(关系运算符)> >= == < <= != instanceof
4.逻辑运算符 & 逻辑与 | 逻辑或 ! 逻辑非 && 短路与 || 短路或 ^ 逻辑异或 布尔类型之间的运算
5.位运算符 与(&)、非(~)、或(|)、异或(^)
6.三元运算符 ?:
7.位移运算符 <<带符号左移 >>带符号右移 >>> 无号右移
++(前加加) ++(后加加) 有区别
int i1 = 10;
int i2 = i1++;
System.out.println(i1); 11
System.out.println(i2); 10
int i3 = 10;
int i4 = ++i3;
System.out.println(i3); 11
System.out.println(i4); 11
赋值运算符的好处,可以不改变原变量的数据类型 这条需要注意下,前面类型转换时,char short byte 做运算时会自动转换成 int 类型的,不能再直接付给之前的类型的变量
但是这里运用赋值运算符就可以进行同类型运算后赋值啦!
例如:short s1 = 5;
s1 = s1 + 6; //编译不通过
s1 += 6; //这样就可以还是short 的了,而且还进行了运算
& 与 && 的区别 : 只有左端都为false 时 才有区别,建议使用 && ,如果左端为true 了,可以提高效率,因为 && 右端不用再做运算了
boolean b = false;
int i1 = 10;
if(b & (i1++) >0){
System.out.println(“1234”);
}else{
System.out.println(“4321”);
}
System.out.println(i1); //11
int i2 = 10;
if(b && (i2++) >0){
System.out.println(“1234”);
}else{
System.out.println(“4321”);
}
System.out.println(i2); //10