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);
}
}