交换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 }
执行结果:
欢迎批评指正,提出问题,谢谢!