1、按位與運算子
int m=
6,b,c=
4,d,t;
b=m&c;
/*按位與,兩個操作位數中位都為1,結果才為1,否則結果為0。
* 轉換為二進位制:m=6,0110
* c=4,0100
* 結果為 0100 b=4
*/system.out.
println
(b)
2、按位或運算子
int m=
6,b,c=
4,d;
d=m|c;
/*按位或,兩個位中只要有乙個為1,那麼結果就是1,否則就為0
* 轉換為二進位制:m=6,0110
* c=4,0100
* 結果為 0110 d=6
*/system.out.
println
(d);
3、按位非運算子
int m=
6,t;
t=~m;/*按位非,按位取反,補碼
* m=6,0000 0110
* 1111 1001
* 1111 0111
* 結果為 t=-7
* 補碼,乙個數的原**名為取反加1,0表示正數,1表示負數
*/system.out.
println
(t);
4、按位異或運算子
int m=
6,t;
t=~m;
/*按位非,按位取反,補碼
* m=6,0000 0110
* 1111 1001
* 1111 0111
* 結果為 t=-7
* 補碼,乙個數的原**名為取反加1,0表示正數,1表示負數
*/system.out.
println
(t);
5、左移運算子
int p=
6,o=
2,u;
u=p<
/*左移運算子,在最低位補0,向左移n位,就相當於乘於2的n次方
* p=6,00000110---00011000 結果為24
*/system.out.
println
(u);
6、右移運算子
int p=
6,o=
2,i;
i=p>>o;
/*右移運算子,如果是正數,則在最高位補0,如果是負數,則在最高位補1。向右移n位,就相當於除於2的n次方
* p=6,00000110---00000001 結果為1
* 如果為10000100 則為11100001
*/system.out.
println
(i);
7、無符號右移運算子
int p=
6,o=
2,k;
k=p>>>o;
/*無符號右移運算子,在最高位補0,向右移n位,就相當於除於2的n次方
* p=6,00000110---00000001 結果為1
*/system.out.
println
(k);
結構為:boolean表示式?表示式1:表示式2
int m=
6,o=
2,j;
j=(p>o)
?p:o;
//如果表示式結果為true,則輸出表示式1的值,否則,輸出表示式2的值
邏輯運算子 位運算子與三元運算子
邏輯與 邏輯或 邏輯非 短路與 短路或 邏輯異或 aba ba ba ba b a a true true true true true true false false true false false false true true false true false true false fal...
移位運算子 三元運算子
移位運算子 左移 規律 乙個運算元進行左移運算的時候,結果就是等於運算元乘以2的n次方,n就是左移 的位數.3 1 3 2 1 6 3 2 3 2 2 12 3 3 3 2 3 24 右移 規律 乙個運算元在做右移運算的時候,實際上就是等於該運算元除以2的n次方,n就是右移的位數。3 1 3 2 1...
關係運算子 邏輯 運算子與三元運算子
1 關係運算子 返回值是boolean 一般用於判斷語句當中 等於 不等於 2 邏輯運算子 邏輯與 邏輯或 邏輯非運算 短路與 短路或 與 運算子 所有條件都為真,則結果為真,有乙個為假,則為假。boolean b b condition1 condition2 先求1,2的值,然後進行判斷 b c...