需要注意细节的一些运算符
需要注意细节的一些运算符
短路运算
//短路运算
int a=5;
boolean b=(c<4)&&(c++<4);//前面的c<4为false,c++被短路
System.out.println(b);//false
System.out.println(a);//c=5
位运算
//位运算
A=00111100;
B=00001101;
A&B=00001100;//对应位置上同为1时才得1,否则为0
A|B=00111101;//对应位置上同为0时得0,否则为1
A^B=00110001;//对应位置上数相同时得0,否则为1
~B =11110010;//取反 对A&B取反即可
2*8=16怎么运算最快?
/* " << " 代表左移相当于乘以2
" >> " 代表右移相当于除以2
*/
System.out.println(2<<3);//16 2*2*2*2
字符串连接符
//用"+"连接,出现字符串和"+"时就直接是拼接效果
int a=19;
int b=32;
//字符串出现在前面:
System.out.println(""+a+b);//1932
System.out.println("答案是:"+(b-a));//答案是13
System.out.println("答案是:"+a*b);//答案是:608
//字符串出现在后面:
System.out.println(a+b+" 是对的");//51是对的
三元运算符
/* x ? y : z
如果x==true,则结果为y,否则结果z
*/
int score=89;
String type=score>=90 ? "优秀":"良好";
System.out.println(type);//良好