位元運算子 |
還有1種是這種寫法:
運算子 |
操 作 | 說 明 |
& |
op1 & op2 | 將op1與op2的數值逐位元進行And運算 |
| |
op1 | op2 | 將op1與op2的數值逐位元進行OR運算 |
^ | op1 ^ op2 | 將op1與op2的數值逐位元進行Xor運算NOT |
~ | ~op1 | 將op1的數值取其補數 |
會像這樣:
其它也會像這樣進行逐位元運算。
邏輯運算子 |
邏輯運算符號 | 說 明 |
& | AND |
| | OR |
! | NOT |
&& | AND |
|| | OR |
- 宣告變數
int a=1; int b=2; |
- AND(&)運算範例
(a<b)&(a<0) |
在AND運算子中,不論傳回值是true或false的時候,皆會執行下一組運算(a<0)。
&的真值表同&&的真值表(在2種狀況同時成立才會是true)
- AND(&&)運算範例
(a<b)&&(a<0) |
在AND運算子中,只有當第1組運算結果傳回值為true,才會執行下一組運算。
- OR(|)運算範例
(b>a)|(a<0) |
在OR運算子中,不論傳回值是true或false的時候,皆會執行下一組運算(a<0)。
|的真值表同|的真值表(在有1種狀況是true,就會成立)
- OR(||)運算範例
(b>a)||(a<0) |
在OR運算子中,只有當第1組運算結果傳回值為false,才會執行下一組運算。
- NOR(!)運算範例
!(a<b) |
在NOR運算子中,運算結果為false,但是會反相為true,反之運算結果為true,則會反相為false。
- XOR(^)運算範例
(b>a)^(a<0) |
在XOR運算子中,不論傳回值是true或false的時候,皆會執行下一組運算(a<0)。
在XOR運算子中,當所有條件式都是true,結果反而得到false,是XOR運算的特色。
^的真值表
範例程式 |
- Ch1_14 .java
package chapter; public class Ch1_14 { public static void main(String[] args) { System.out.println("13 & 12 ="+(13 & 12)); } } |
- Ch1_15 .java
package chape; public class Ch1_15 { public static void main(String[] args) { System.out.println("true & true\t=" + (true & true)); System.out.println("true & false\t=" + (true & false)); System.out.println("false & true\t=" + (false & true)); System.out.println("false & false\t=" + (false & false)); } } |
- Ch1_16 .java
package chape; public class Ch1_16 { public static void main(String[] args) { System.out.println("true | true\t=" + (true | true)); System.out.println("true | false\t=" + (true | false)); System.out.println("false | true\t=" + (false | true)); System.out.println("false | false\t=" + (false | false)); } } |
- Ch1_17 .java
package chape; public class Ch1_17 { public static void main(String[] args) { System.out.println("true ^ true\t=" + (true ^ true)); System.out.println("true ^ false\t=" + (true ^ false)); System.out.println("false ^ true\t=" + (false ^ true)); System.out.println("false ^ false\t=" + (false ^ false)); } } |
沒有留言:
張貼留言