1. 程式人生 > >操作符和流程控制

操作符和流程控制

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以後)型別。