導航:首頁 > 整形美容 > java中兩個整形變數怎麼交換值

java中兩個整形變數怎麼交換值

發布時間:2021-02-23 02:21:25

1. 題目:JAVA中交換整型變數x與y的值的方法

每一次你賦值給一個variable的時候,這個variable的值就會被你所賦的新值給代替回。
假如X=5,y=1
Step(答1):X=5+1 (現在的X=6)
Step(2):Y=X-1=6-1(因為你的X在上一步已經被賦予新的值了,所以是6,現在Y是5)
Step(3):X=X-Y=6-5=1(X又被重新賦予新的值)
其實最簡單的方法就是自己先自定義一個variable,假如是z,然後按照挨個替換就成了
int z
z=x;
x=y;
y=z;
這樣是最簡單的了

2. 用JAVA寫「對兩個整數變數的值進行互換(不需要第三方變數)」程序

JAVA對兩個整數變數的值進行互換(不需要第三方變數)的程序如下:

方法一(加減法):

a=a+b;

b=a-b;

a=a-b;

方法二(異或運算):

a=a^b;

b=a^b;

a=a^b;

代碼實現如下:

publicclassDemo{
publicstaticvoidmain(String[]args){
intm=2,n=3;
//method_1(m,n);
method_2(m,n);
}
/**
*使用異或^
*明白一個數,如果異或同一個數兩次,那麼就等於本身
*/
privatestaticvoidmethod_3(intm,intn){
m=m^n;
n=m^n;
m=m^n;
System.out.println("m="+m+" n="+n);
}
/**
*使用自身的數組,加減運算
*/
privatestaticvoidmethod_2(intm,intn){
m=m+n;
n=m-n;
m=m-n;
System.out.println("m="+m+" n="+n);
}
}

3. 怎麼在java上完成,實現兩個int類型變數的交換,不使用中間變數

方法有很多,這里舉出兩種常用的:
方法1:使用^操作來實現
int x = 10;
//用二進製表示:x=0b1010;
int y = 15;
//用二進製表示:x=0b1111;
System.out.println("x="+x+" y="+y);
x = x^y;
//x^y= 0b1010^0b1111 = 0b0101
y = x^y;
//x^y= 0b0101^0b1111 = 0b1010 =10
x = x^y;
//x^y= 0b0101^0b1010 = 0b1111 =15
System.out.println("x="+x+" y="+y);
方法2:使用+,-操作來實現
int x = 10;
int y = 15;
System.out.println("x="+x+" y="+y);
x = x+y;
//x= 10+15=25
y = x-y;
//y= 25-15=10
x = x-y;
//x= 25-10=15
System.out.println("x="+x+" y="+y);
結果:
x=10 y=15
x=15 y=10
早期為了減少中間變數對計算機內存的佔用,採用中間的方法來交換數據。其實這種交換並不完美,如果交換的兩個數都很大,可能會內存溢出。在現在的開發中建議使用中間值來交換數值。

4. java程序中,怎麼互換2個變數的值

用第三個變數來存儲。
就是再申請一個變數。
int num1=10;
int num2=8;
int temp=0

temp=num1;//將num1的值賦給中間變數專temp
num1=num2;//將num2的值賦給num1;
num2=temp;//將temp的值賦給num2,屬num1和num2的值就互換了。

這個方法是最通用的,記住這個就行了。

5. java基礎,對兩個整數變數進行互換

樓主的問題問的很詭異啊。
你自己都說圖是對的。那11行右邊怎麼可能是8?
如果回此時如答你所說b=8那麼不就錯了?
而且你自己說的b = (a ^ b)^ b = 3,到了11行算a的時候怎麼就變成b ^ a ^ a=8?
就好比我問你,1+2=3正確,那麼提問:為什麼2+1=5.

細點心吧。。

6. Java中,先聲明兩個整型變數並賦值,然後將兩個變數的值進行交換,求解

inti=5;
intj=6;

i=i+j;//5+6=11
j=i-j;//11-6=5
i=i-j;//11-5=6

兩個變數之和不超出范圍就版沒問權題

7. java程序問題,如何用方法來交換兩個整型變數的值

java沒有指針,這題傳過去就是副本,副本交換了回到主函數時原來的沒有交換。

8. 如何在Java中實現交換兩個變數值的方法

public class Demo {
public static void main(String[] args) {
//調用這個靜態方法傳遞兩個int 型的值版就是了。
權exchange(2, 6);
}

public static void exchange(int a, int b) {
int temp = 0;
temp = a;
a = b;
b = temp;
System.out.println("a=" + a);
System.out.println("b=" + b);

}
}

9. Java中交換兩個整數類型的變數

^

^ 在java中是位運算符,異或運算。你圈的那三行核心代碼就是通過異或運算來交換變數回A、B的值。答

關於異或運算:異或運算

publicclassTest{
publicstaticvoidmain(String[]args){
intA=14;
intB=5;

A=A^B;
B=B^A;
A=A^B;

System.out.println("A="+A);//A=5
System.out.println("B="+B);//B=14
}
}

執行結果

inttemp=A;//引入一個中間變數
A=B;
B=temp;

10. 如何用java實現兩個變數值的互換

可以利用以下方式:通過異或實現(異或符號為^)關於^:異或的運演算法則,相當於不帶進位的二進制加法。二進制下用1表示真,0表示假,則異或的運演算法則為:0異或0=0,1異或0=1,0異或1=1,1異或1=0(同為0,異為1),這些法則與加法是相同的,只是不帶進位。第一個數 符號 第二個數 結果0 ^ 0 00 ^ 1 11 ^ 0 11 ^ 1 0如:num1 = 5,對應的二進制為(101); num2 = 7,對應的二進制為(111);num1=num1^num2=2; 即二的平方位1^1=0,二的一次方位0^1=1,二的0次方位1^1=0;得到(010)即為2。num2 = num1 ^ num2=5 ;相當於num2=num1^num2^num2;二的平方位1^1^1=1(此處無論num2的二的平方位是0還是1,異或運算後都為0,故得到的肯定與原num1的二的平方位相同,同理其他位置全部也都是原num1的數);二的一次方位0^1^1=0;二的0次方位1^1^1=1.;得到(101)即為5.num1 = num1^num2=7; 相當於num1 = num1^num2^num1^num2^num2=num2=7.此方法同樣實現了兩個數互換。

閱讀全文

與java中兩個整形變數怎麼交換值相關的資料

熱點內容
35歲乾性皮膚起痘用什麼護膚品 瀏覽:290
深海娜美皮膚多少錢 瀏覽:532
正品減肥多少錢 瀏覽:837
蒙妮坦美容養生館靖南店怎麼樣 瀏覽:417
蘭州哪裡有白癜風醫院 瀏覽:50
做隆鼻哪裡整形醫院比較好 瀏覽:590
怎麼測試皮膚的年齡呢 瀏覽:516
植藻水能量化妝品多少錢一瓶 瀏覽:350
贛州市皮膚病哪裡最好的醫院 瀏覽:741
晩上吃什麼水果減肥 瀏覽:824
上海美容紋眉多少錢 瀏覽:506
汽車美容店換機油要什麼證 瀏覽:196
八大處整形外科醫院住哪裡 瀏覽:612
化妝生產許可證號在哪裡 瀏覽:212
中性皮膚適合用哪個護膚品比較好 瀏覽:192
舟山婦科醫院怎麼樣 瀏覽:928
皮膚敏感期擦什麼護膚品 瀏覽:755
水劑類化妝品包括哪些 瀏覽:921
珠海整形醫生方明技術怎麼樣 瀏覽:567
無錫整形哪裡好擅選瑪利亞重點 瀏覽:317