溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java中的異或運(yùn)算符怎么用

發(fā)布時間:2020-06-24 10:32:26 來源:億速云 閱讀:907 作者:Leah 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)java中的異或運(yùn)算符怎么用,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Java中的位運(yùn)算符中有一個叫做異或的運(yùn)算符,符號為(^)或者 Xor

異或8個字總結(jié) 相同出0 不同出1

int a=1;
int b=1;
System.out.println(a^b);

這里則輸出 0

int a=12;
int b=0;
System.out.println(a^b);

這里則輸出 12

小結(jié): 相同的兩個數(shù)會輸出0既false ,另一個數(shù)為0 則輸出它本身,下面為大家演示兩個不同的數(shù)字

運(yùn)算規(guī)則

其運(yùn)算規(guī)則是:在兩個二進(jìn)制操作數(shù)的相同位中

如:a=7; b=4;

a=0111; b=0100; (因?yàn)閕nt是占據(jù)32位的,前面的位數(shù)都為0 ,所只展示后4位)

a^b=?

java中的異或運(yùn)算符怎么用

得出 a^b =3

下面為大家詳細(xì)講解在不使用第三方的情況下交換兩個屬性中的值

我們要實(shí)現(xiàn)的是a=4; b=7;

公式為 a=a^b;
b=a^b;
a=a^b;
第一步分析:

java中的異或運(yùn)算符怎么用

第一步結(jié)束后值為: a=3; b=7;

第二步:b=a^b;

java中的異或運(yùn)算符怎么用

第二步結(jié)束后的值:a=3; b=4;

第三步:a=a^b;

java中的異或運(yùn)算符怎么用

第三步結(jié)束后的值:a=7; b=4;

異或運(yùn)算有三個特征,一個是0與一個數(shù)做異或操作還是本身,本身與本身做異或操作為0,異或操作還滿足交換率。
利用a^a=0的特點(diǎn)實(shí)現(xiàn)這個功能,在一個數(shù)組中找出出現(xiàn)次數(shù)為奇數(shù)的,也可理解為出現(xiàn)一次的;

這里直接上代碼;

private static void ddd() {
		int a[] = { 22, 38, 38,5, 22, 4, 4, 11, 11 };
		int t = 0;
		for (int i = 0; i < a.length; i++) {
			t ^= a[i];
		}
		System.out.println(t);
	}

這里將會直接輸出 5

下面是一些異或的基本知識,有興趣的可研究一下;

1. a ^ b = b ^ a

2. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;

3. d = a ^ b ^ c 可以推出 a = d ^ b ^ c.

4. a ^ b ^ a = b.

關(guān)于java中的異或運(yùn)算符的用法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI