Java中交換兩個數的各種方法

2021-09-01 21:27:56 字數 948 閱讀 7470

給兩個數a和b,然後交換a和b的值。

方式一:通過臨時變了存放交換

int a = 2;

int b = 3;

system.out.println("a=" + a + ",b=" + b);

int temp = a;

a = b;

b = temp;

system.out.println("a=" + a + ",b=" + b);

方式二:通過加減計算交換

int a = 2;

int b = 3;

system.out.println("a=" + a + ",b=" + b);

a = a + b;

b = a - b;

a = a - b;

system.out.println("a=" + a + ",b=" + b);

方式三:通過異或運算交換

int a = 2;

int b = 3;

system.out.println("a=" + a + ",b=" + b);

a = a ^ b;

b = a ^ b;

a = a ^ b;

system.out.println("a=" + a + ",b=" + b);

總結:方式一是最常見的,可讀性高,但是需要在記憶體中存放臨時變數,但是對於現在來說,需要的記憶體空間很小,而且存放臨時變數的記憶體很快就會釋放,不存在問題。

方式二有缺陷,當兩個數相加之後,可能其結果超出了變數型別能表達的最大範圍,這個時候結果就會出問題,不推薦使用

方式三效率是最高的,但是可讀性不是很好。

在程式中我們應該盡可能的使用方式一,提高程式的可讀性。但是需要了解方式三,以及方式三的原理。

交換兩個數的幾種方法

這是最常用的交換兩數的方法 void swap 1 int a,int b 有兩種方法。1 採用加減的方法,這種方法容易越界 void swap 2 int a,int b 2 採用按位異或的方法 void swap 3 int a,int b 這兩種方法並不常用甚至有些時候容易出bug,但有時面試...

多種方法交換兩個數的值

方法1 程式例項 include void exchange int x,int y intmain 執行結果 方法2 include intmain 執行結果 此處通過巧用位操作符 按位異或 的方法,完成兩個數的轉化。按位異或操作符的口訣 相異為1,相同為0 三個按位異或的具體如下 注 以下二進位...

交換兩個數的方法

示例 如下 1 include 2 using namespace std 34 5 指標法 中間變數1 6 7void swap1 int pa,int pb 813 14 15 引用法 中間變數2 16 17void swap2 int ra,int rb 1823 24 25 相互加減法 26...