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