完成兩個變數交換的三種方式

2021-08-15 00:14:36 字數 644 閱讀 1375

1.利用第三個變數交換數值,簡單的方法。

int x =5,y=10; //定義兩個變數

int temp = x;    //定義第三臨時變數temp並提取x值

x = y;        //把y的值賦給x

y = temp;      //然後把臨時變數temp值賦給y

2.可以用兩個數求和然後相減的方式進行資料交換,弊端在於如果 x 和 y 的數值過大的話,超出 int 的值會損失精度

int x =5,y=10; //定義兩個變數

x = x + y; //x(15) = 5 + 10;

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

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

3.利用位運算的方式進行資料的交換,利用的思想原理是:乙個數異或同乙個數兩次,結果還是那個數,而且不會超出int範圍

int x =5,y=10; //定義兩個變數

x = x^y;

y = x^y; //y=(x^y)^y

x = x^y; //x=(x^y)^x

交換兩個變數的三種方法

public static void main string args num1 2,num2 1前提 兩個變數相加的值不能溢位 public static void main string args num3 20,num4 10異或 1.任意乙個變數x與其自身進行異或運算,結果為0,即x x 0...

交換變數的三種方式

1 借助中間量交換 開發常用 int x 10 int y 20 int temp x x y y temp 此種方法可以將中間量看成空杯,即把temp看成是空杯,把x看成是裝有白酒的杯子,把y看成是裝有紅酒的杯子 int temp x 把白酒倒到空杯中,此時temp裝有白酒,x變成空杯 x y 把...

有三種方法交換兩個變數的值

int i1 20 int i2 10 int i3 i1 i1 i2 i2 i3 system.out.println i1 i1 system.out.println i2 i2 輸出結果 i1 10 i2 20 int i4 50 int i5 100 int i6 i4 i5 i5 i6 i...