日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

java亦或(^)

發布時間:2023/12/15 综合教程 26 生活家
生活随笔 收集整理的這篇文章主要介紹了 java亦或(^) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在java程序里面的異或用法:

相同輸出0,不同輸出1,例如:
System.out.println(1^1); 輸出0
System.out.println(1^2);輸出3,因為最后2個低位都不一樣,所有輸出3

異域的概念是相同為0不同為1.如果兩個數值異或后的值相同,異或前可能不同。
比如二進制:0010^0001=0011 而0000^0011=0011。 異或要慎用。

一道有意思的題目:很多成對出現數字保存在磁盤文件中,注意成對的數字不一定是相鄰的,如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;
}

順序打亂也沒有關系。


實現兩個數的交換(不添加變量的情況下):

public static void main(String[] args){
	int a=3;
	int b=5;
	a=a^b;
	b=b^a;
	a=b^a;
	System.out.println(a+""+b);
}
}

  

總結

以上是生活随笔為你收集整理的java亦或(^)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。