1.與運算(&)
進行運算的兩個數據,按二進制位進行“與”運算。
規則:0&0=0; 0&1=0; 1&0=0; 1&1=1;
即: 兩位同時為“1”,結果才為“1”,否則為0
2.或運算(|)
進行運算的兩個數據,按二進制位進行“或”運算。
運算規則:0|0=0; 0|1=1; 1|0=1; 1|1=1;
即 :參加運算的兩個對象只要有一個為1,其值為1。
3.非運算:~
1取0,0取1 ~1 = 0, ~0 = 1 ~(10001) = 01110
4.異或運算(^)
參加運算的兩個數據,按二進制位進行“異或”運算。
運算規則:0^0=0; 0^1=1; 1^0=1; 1^1=0;
即:參加運算的兩個對象,如果兩個相應位為“異”(值不同),則該位結果為1,否則為0。
考點:交換兩個變量的值(不借助第三個變量)
使用異或運算符:
例:a=6,b=5
核心代碼:
a = a ^ b;
b = a ^ b;
a = a ^ b;
package dataStruct; import java.util.Scanner; /** * @ClassName: ChangeAB * @Description: TODO * @Author: hunterm * @Date: 2019/8/5 15:10 * @Version:1.0 */ public class ChangeAB { public static void main(String[] args) { System.out.println("請輸入兩個數A與B"); Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); a = a ^ b; b = a ^ b; a = a ^ b; System.out.println("a ="+a +","+"b="+b); } }