Java基础小常识(2)
一、逻辑运算
1.&运算符,例:if(3>2 & 4<5),对于这个表达式,&运算符左右两边都会进行运算,结果返回false或者true,‘|’和‘&’的原理相同
2.&&和||运算符(短路运算符),对于if(3>4 & 4<5),它和‘&’、‘|’的区别就在于&&一旦发现3>4为false,就不会判断后面的4<5,‘||’和&&类似,且&和|可以进行位运算,而&&和||不能
二、左移和右移
1.“<<”运算符,例:6转换成二进制为 00000000-00000000-00000000-00000110,左移两位,就变成00000000-00000000-00000000-00011000,原因是低位补0,高位直接舍去。移位之后的结果就是6*22=24
2.“>>”运算符,例:6转换成二进制为 00000000-00000000-00000000-00000110,右移两位,就变成00000000-00000000-00000000-00000001,低位直接舍去,而高位是根据原数据二进制最高位时1还是0,是几就都补成几。一个数左移的结果;6/22=1;
3、“>>>”无符号右移,数据进行右移时,高位出现的空位,无论原高位时什么,空位都用0去补。
4.异或就是相同为false,不同为true。一个数异或同一个数两次,结果还是这个数(用于加密)。
三、转义字符
\n :回车
\t :制表符,相当于键盘上的Tab键
\b :退格符,相当于键盘上的Backspace
\r :表示按下回车键
在Windows系统中回车键键有\r\n这两个转义字符组成,而在Linux系统中,回车符有\n组成
四、break 和 continue
1.当break单独存在时,后面不要跟其他语句,因为执行不到,break如果想跳出指定循环,可以给指定循环语句起一个名字,如下例:
q:for(int i=0;i<3;i++)
{
w:for(int j=0;j<3;j++)
{
System.out.println("i="+i);
//跳出外层循环
break q;
}
}
2.当continue单独存在时,后面不要跟其他语句,因为执行不到,continue如果想继续执行指定循环,可以给指定循环语句起一个名字,如下例:
q:for(int i=0;i<3;i++)
{
w:for(int j=0;j<3;j++)
{
System.out.println("i="+i);
//继续外层循环
continue q;
}
}