1. 程式人生 > 實用技巧 >交換a和b的值

交換a和b的值

方法一:

 1 package day05;
 2 
 3 public class TestDemo01 {
 4     /*交換a、b的值:
 5      * 思路:
 6      * 1、定義一個三方變數temp,將a原本的值交給temp(a的值不會丟)
 7      * 2、使用a變數記錄b的值,(第一步交換完畢,b的值也不會丟)
 8      * 3、使用b變數記錄temp的值,也就是a原本的值(交換完畢)
 9      * 4、輸出a和b變數即可
10      */
11     public static void main(String[] args) {
12         int
a = 10; 13 int b = 20; 14 int temp = a; 15 a = b; 16 b = temp; 17 System.out.println("a:" + a); 18 System.out.println("b:" + b); 19 } 20 }

執行結果:

方法二:

 1 package day05;
 2 
 3 public class TestDemo02 {
 4     public static void main(String[] args) {
5 //交換a、b的值 6 int a = 10; 7 int b = 20; 8 a = a ^ b; 9 b = a ^ b; 10 a = a ^ b; 11 System.out.println("a=" + a); 12 System.out.println("b=" + b); 13 } 14 }

執行結果:

eg:

 1 package day05;
 2 
 3 public class TestDemo03 {
 4     /*  已知一個數組 arr = {1, 2, 3, 5, 6, 9}; 用程式實現把陣列中的元素值交換,
5 交換後的陣列 arr = {9,6,5,3,2,1}; 並在控制檯輸出交換後的陣列元素。 6 7 步驟: 8 1. 定義兩個變數, start和end來表示開始和結束的指標. 9 2. 確定交換條件, start < end 允許交換 10 3. 迴圈中編寫交換邏輯程式碼 11 4. 每一次交換完成, 改變兩個指標所指向的索引 start++, end-- 12 5. 迴圈結束後, 遍歷陣列並列印, 檢視反轉後的陣列 13 14 */ 15 public static void main(String[] args) { 16 int[] arr = {1, 2, 3, 5, 6, 9}; 17 int start = 0; 18 int end = arr.length - 1; 19 for (; start < end; start++, end--) { 20 int temp = arr[start]; 21 arr[start] = arr[end]; 22 arr[end] = temp; 23 } 24 for (int i = 0; i < arr.length; i++) { 25 System.out.println(arr[i]); 26 } 27 } 28 }

執行結果:

eg:

 1 package day05;
 2 
 3 public class TestDemo04 {
 4     //將陣列的第一個和最後一個元素進行交換
 5     public static void main(String[] args) {
 6         int[] arr = {1, 2, 3, 4, 5};
 7         int temp = arr[0];
 8         arr[0] = arr[4];
 9         arr[4] = temp;
10         for (int i = 0; i < arr.length; i++) {
11             System.out.println(arr[i]);
12         }
13     }
14 }

執行結果: