java运算符新用法和^新认识

本文详细介绍了Java中异或运算符的使用方法及其应用场景,包括通过异或运算实现两个整数的交换,以及利用异或运算快速查找消失的数字。
public class Demo1 {

    public static void main(String[] args) {
        boolean t = false | true;
        System.out.println(t);
        t |= false;
        System.out.println(t);
        t = t&false;
        System.out.println(t);
        t &= false;
        System.out.println(t);
        t = t^true;
        System.out.println(t);
        t^=true;
        System.out.println(t);
    }

^ 异或运算符

 真^假=真  假^真=真  假^假=假  真^真=假

只要两个条件同时为真或假,其结果都为假

假如现在有这个场景现在公司需要两个程序员,因为考虑到工作积极性,需要一男一女,

老总在最后审核时必须可能是这样的

if(!(x==男^y==男||x==女^y==女)){

  直接PASS

}

JAVA请使用异或运算符^, 实现两个整数的交换

Scanner in=new Scanner(System.in);
int A=in.nextInt();
int B=in.nextInt();
A=A^B;
B=B^A;
A=A^B;
System.out.println(A+" "+B);

很多成对出现数字保存在磁盘文件中,注意成对的数字不一定是相邻的,如2, 3, 4, 3, 4, 2……,由于意外有一个数字消失了,如何尽快的找到是哪个数字消失了

由于有一个数字消失了,那必定有一个数只出现一次而且其它数字都出现了偶数次。用搜索来做就没必要了,利用异或运算的两个特性——1.自己与自己异或结果为0,2.异或满足 
交换律。 

public static int findLost(int a[]){ 
        int result=0; 
        for(int i=0;i<a.length;i++) { 
            result^=a[i]; 
        } 
        return result; 
} 

 

转载于:https://www.cnblogs.com/ak23173969/p/4984989.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值