利用異或(a^b)^b 等于a,進(jìn)行交互,不需要設(shè)置臨時(shí)變量也不會(huì)超范圍。代碼如下:

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括海拉爾網(wǎng)站建設(shè)、海拉爾網(wǎng)站制作、海拉爾網(wǎng)頁制作以及海拉爾網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,海拉爾網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到海拉爾省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
import java.util.Scanner;
public class woo {
public static void main(String args[]) {
Scanner scan =new Scanner(System.in);
System.out.println("輸入兩個(gè)數(shù)a, b");
int a = scan.nextByte();
int b = scan.nextByte();
System.out.printf("交換前:a = %d, b = %d\n", a, b);
a = a^b;
b = a^b;
a = a^b;
System.out.printf("交換后:a = %d, b = %d", a, b);
}
}
擴(kuò)展資料:
值傳遞就是在方法調(diào)用的時(shí)候,實(shí)參是將自己的一份拷貝賦給形參,在方法內(nèi),對(duì)該參數(shù)值的修改不影響原來實(shí)參。
引用傳遞是在方法調(diào)用的時(shí)候,實(shí)參將自己的地址傳遞給形參,此時(shí)方法內(nèi)對(duì)該參數(shù)值的改變,就是對(duì)該實(shí)參的實(shí)際操作。
在java中只有一種傳遞方式,那就是值傳遞.可能比較讓人迷惑的就是java中的對(duì)象傳遞時(shí),對(duì)形參的改變依然會(huì)意向到該對(duì)象的內(nèi)容。
參考資料:
百度百科——參數(shù)傳遞
用第三個(gè)變量來存儲(chǔ)。
就是再申請(qǐng)一個(gè)變量。
int
num1=10;
int
num2=8;
int
temp=0
temp=num1;//將num1的值賦給中間變量temp
num1=num2;//將num2的值賦給num1;
num2=temp;//將temp的值賦給num2,num1和num2的值就互換了。
這個(gè)方法是最通用的,記住這個(gè)就行了。
public static void main(String[] args) {
//定義輸入對(duì)象s
Scanner s=new Scanner(System.in);
System.out.print("輸入第一個(gè)數(shù)的值:\t");
int number1=s.nextInt();
System.out.print("\n輸入第二個(gè)數(shù)的值:\t");
int number2=s.nextInt();
System.out.println("number1的值:"+number1+"\t\t number2的值:"+number2);//輸出交換前內(nèi)容
//定義中間變量temp進(jìn)行交換(你小學(xué)老師問你:現(xiàn)在有紅墨水1瓶、藍(lán)墨水1瓶,要你將紅、藍(lán)兩種墨水交換瓶子,你是不是要找個(gè)空瓶子來處理)
int temp=number1;
number1=number2;
number2=temp;
System.out.println("number1的值:"+number1+"\t\t number2的值:"+number2);//輸出交后內(nèi)容
}
基本類型無法按引用傳遞,詳見『ヤ;擱[淺灬メ』的解釋,我只提供一種實(shí)現(xiàn)方案,一定要用函數(shù)調(diào)用來實(shí)現(xiàn)的話,可以傳個(gè)數(shù)組過去
import java.io.*;
public class Compare
{
public static void change(int[] a) throws Exception
{
int temp=0;
temp=a[0];a[0]=a[1];a[1]=temp;
}
public static void main(String args[]) throws Exception
{
int[] a = new int[2];
System.out.println("輸入a:");
InputStreamReader inreader=new InputStreamReader(System.in);
BufferedReader breader=new BufferedReader(inreader);
a[0]=Integer.parseInt(breader.readLine());
System.out.println("輸入b:");
a[1]=Integer.parseInt(breader.readLine());
System.out.println("交換前a="+a[0]+" 交換前b="+a[1]);
change(a);
System.out.println("交換后a="+a[0]+" 交換后b="+a[1]);
}
}
當(dāng)前題目:java中交換兩個(gè)值代碼,java交換兩個(gè)數(shù)組的值
轉(zhuǎn)載來源:http://chinadenli.net/article1/dsiihod.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、動(dòng)態(tài)網(wǎng)站、域名注冊(cè)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)