1. 程式人生 > >Java的位運算子

Java的位運算子


1.與運算子
與運算子用符號“&”表示,其使用規律如下:
兩個運算元中位都為1,結果才為1,否則結果為0,例如下面的程式段

public class data { 
    public static void main(String [] args){ 
        int a = 129; 
        int b = 128; 
        System.out.println(“a和b與的結果是:”+(a&b)); 
    } 
} 

執行結果

a 和b 與的結果是:128
下面分析這個程式:
“a”的值是129,轉換成二進位制就是10000001,而“b”的值是128,轉換成二進位制就是10000000。根據與運算子的運算規律,只有兩個位都是1,結果才是1,可以知道結果就是10000000,即128。


2.或運算子
或運算子用符號“|”表示,其運算規律如下:
兩個位只要有一個為1,那麼結果就是1,否則就為0,下面看一個簡單的例子

public class data14 { 
    public static void main(String [] args){ 
        int a = 129; 
        int b = 128; 
        System.out.println(“a和b或的結果是:”+(a | b)); 
    } 
} 

執行結果

a 和b 或的結果是:129
下面分析這個程式段:
a 的值是129,轉換成二進位制就是10000001,而b 的值是128,轉換成二進位制就是10000000,根據或運算子的運算規律,只有兩個位有一個是1,結果才是1,可以知道結果就是10000001,即129。


3.運算非符
非運算子用符號“〜”表示,其運算規律如下:

如果位為0,結果是1,如果位為1,結果是0,下面看一個簡單例子

public class data15 { 
    public static void main(String [] args)
    { 
        int a = 2; 
        System.out.println(“a非的結果是:”+(〜a)); 
    } 
}


4.異或運算子
異或運算子是用符號“^”表示的,其運算規律是:
兩個運算元的位中,相同則結果為0,不同則結果為1。下面看一個簡單的例子。

public class data16{
    public static void main(String[] args){
        int a=15;
        int b=2;
        System.out.println("a 與 b 異或的結果是:"+(a^b));
    }
}

執行結果
a 與 b 異或的結果是:13
分析上面的程式段:a 的值是15,轉換成二進位制為1111,而b 的值是2,轉換成二進位制為0010,根據異或的運算規律,可以得出其結果為1101 即13。