交換a和b的值
阿新 • • 發佈:2021-01-01
方法一:
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 inta = 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 }
執行結果: