華文網

【java學習day03位運算子】Demo2_Operator

class Demo2_Operator {

public static void main(String[] args) {

/*

* 位異或運算子的特點

* ^的特點:一個資料對另一個資料位元異或兩次,

該數本身不變。

*/

//System.out.println(5 ^ 10 ^ 10);

//System.out.println(5 ^ 10 ^ 5);

/*

* 請自己實現兩個整數變數的交換(不需要定義協力廠商變數)

* 注意:以後講課的過程中,我沒有明確指定資料的類型,預設int類型。

*/

int x = 10;

int y = 5;

//需要協力廠商變數,開發推薦用這種

/*int temp;

temp = x;

x = y;

y = temp;*/

//不需要定義協力廠商變數,有弊端,有可能會超出int的取值範圍

/*x = x + y;//10 + 5 = 15

y = x - y;//15 - 5 = 10

x = x - y;//15 - 10 = 5*/

//不需要協力廠商變數,通過^來做

x = x ^ y;// 10 ^ 5

y = x ^ y;// 10 ^ 5 ^ 5y = 10

x = x ^ y;// 10 ^ 5 ^ 10 x = 5

System.out.println("x = " + x + ",y = " + y);

}

}