本文目錄一覽:
- 1、Java數組元素位置怎麼交換?
- 2、java如何來交換兩個數組元素的值?
- 3、java進行兩數交換時,如何不用中間量就交換?
- 4、如何在Java中實現交換兩個變量值的方法
- 5、java怎麼實現兩個對象內容的交換
- 6、java如何實現2個數之間互換
Java數組元素位置怎麼交換?
1、定義一個int類型的一維數組,內容為{6,2,9,15,1,5,20,7,18}。
2、將數組最大元素與最後一位元素進行交換,最小元素與第一位元素進行交換,並打印數組。
具體如下:
1、簡介
編程是編寫程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,是計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
2、彙編程序
彙編程序。使用彙編語言編寫計算機程序,程序員仍然需要十分熟悉計算機系統的硬件結構,所以從程序設計本身上來看仍然是低效率的、繁瑣的。但正是由於彙編語言與計算機硬件系統關係密切,在某些特定的場合,如對時空效率要求很高的系統核心程序以及實時控制程序等,迄今為止彙編語言仍然是十分有效的程序設計工具。
3、執行原理
計算機對除機器語言以外的源程序不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的。這種將高級編程硬件程序設計語言編寫的源程序轉換到機器目標程序的方式有兩種:解釋方式和編譯方式。
根據具體問題類型,進行步驟拆解/原因原理分析/內容拓展等。
具體步驟如下:/導致這種情況的原因主要是……
java如何來交換兩個數組元素的值?
首先兩個數組的長度要一樣交換才有意義,循環遍曆數組
int
temp;
//數組是什麼類型temp就定義什麼類型
for(int
i=0;
iary1.length;
i++){
temp
=
ary1[i];
ary1[i]
=
ary2[i];
ary2[i]
=
temp;
}
java進行兩數交換時,如何不用中間量就交換?
方法有很多,這裡舉出兩種常用的:
方法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
早期為了減少中間變量對計算機內存的佔用,採用中間的方法來交換數據。其實這種交換並不完美,如果交換的兩個數都很大,可能會內存溢出。在現在的開發中建議使用中間值來交換數值。
如何在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);
}
}
java怎麼實現兩個對象內容的交換
1.藉助中間量交換
int x = 10;
int y = 20;
int temp = x;
x = y;
y = temp;
此種方法可以將中間量看成空杯,即把temp看成是空杯,
把x看成是裝有白酒的杯子,把y看成是裝有紅酒的杯子
int temp = x; 把白酒倒到空杯中,此時temp裝有白酒,x變成空杯
x = y; 把y中的紅酒倒到x空杯中,此時x裝有紅酒,y變成空杯
y = temp; 把白酒倒到y空杯中,此時x裝有紅酒,y裝有白酒,實現x和y的互換
2.數值相加減交換
int x = 10;
int y = 20;
x = x + y;
y = x – y;
x = x – y;
此種方法通過先求得兩數的和再進行減運算
x = x + y; 此時x的值為10+20=30;
y = x – y; 此時的x經上面的運算變成30,所以y = 30 – 20 = 10;
x = x – y; 此時的y經上面的運算變成10,所以x = 30 – 10 = 20;實現兩個數的互換
3.位移運算交換
int x = 10;
int y = 20;
x = x ^ y;
y = x ^ y;
x = x ^ y;
java如何實現2個數之間互換
利用異或(a^b)^b 等於a,進行交互,不需要設置臨時變量也不會超範圍。代碼如下:
import java.util.Scanner;
public class woo {
public static void main(String args[]) {
Scanner scan =new Scanner(System.in);
System.out.println(“輸入兩個數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);
}
}
擴展資料:
值傳遞就是在方法調用的時候,實參是將自己的一份拷貝賦給形參,在方法內,對該參數值的修改不影響原來實參。
引用傳遞是在方法調用的時候,實參將自己的地址傳遞給形參,此時方法內對該參數值的改變,就是對該實參的實際操作。
在java中只有一種傳遞方式,那就是值傳遞.可能比較讓人迷惑的就是java中的對象傳遞時,對形參的改變依然會意向到該對象的內容。
參考資料:
百度百科——參數傳遞
原創文章,作者:FMPZ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/140245.html