操作符和流程控制
阿新 • • 發佈:2018-12-02
1. +號可以表示數字運算、字串拼接、字串轉換(String+一個非String)的功能
2. 邏輯操作符的短路——是指計算一串邏輯運算時如果前面部分已經滿足了要求,後面的部分可能不再計算
3.
int a = 0xf; char b = 0xf; byte c = 0xf; short d = 0xf; System.out.println(Integer.toBinaryString(a)); System.out.println(Integer.toBinaryString(b)); System.out.println(Integer.toBinaryString(c)); System.out.println(Integer.toBinaryString(d)); long e = 0177; float f = 0177; double g = 0177; System.out.println(Double.toHexString(e)); System.out.println(Double.toHexString(f)); System.out.println(Double.toHexString(g));
結果:
4. 按位操作符
&&、||、==、!=是邏輯運算子;&、|、^、~是位運算子,對二進位制位進行操作
其中,&(全1則1)、|(有1則1)、^(異或,相同為1,不同為0)、~(1變0,0變1)
&、|、^是二元操作符,可以與=結合使用,變為&=、|=、^=
5.移位操作符
<<、>>(有符號,正高位補0,負補1)、>>>(無符號,高位補0),只對整型操作,可以與=結合使用
若對char、byte等操作會轉為整型,結果也是整型
X<<Y 時,Y只有低五位有用(Y會轉化成2進位制,2^5=32 int只有32位,若移動超過32位,資訊全丟失)
6.break和continue中的label
label緊跟for語句,continue label時,跳到label繫結的迴圈繼續執行,但不會再執行初始化語句,該自增自增;break label徹底終止迴圈,將不再進入迴圈體。
7.switch
記得case後加break才能跳出;
switch選擇因子必須是char、byte、int、short、enum、String(JDK1.7以後)型別。