java笔记之值交换

    xiaoxiao2025-08-08  4

    基本类型交换不会改变其值,以为在每个函数会在栈中有自己的内存,主函数和调用函数都有自己的栈内存,当调用函数执行完后其栈内存就会释放,故基本类型不会得到改变数组类型可以交换,在函数的栈中的变量都指向同一个堆中的数组,故可以交换String类型不可以交换,String不可变的字符串,指向常量池的地址,交换后主函数的变量指的地址还是不会变,所以不会改变代码演示 package java7_0; public class Demo1 { //基本类型的交换 public static void change(int a,int b) { int temp = a; a=b; b=temp; System.out.println(a+" "+b); } //数组的交换 public static void change1(int[] array,int index1,int index2){ int temp = array[index1]; array[index1]=array[index2]; array[index2]=temp; for (int i = 0; i < array.length; i++) { System.out.print(array[i]+" "); } System.out.println(); } //String 类型的交换 public static void change2(String src,String source1) { src = source1; System.out.println(src); } public static void main(String[] args) { // 基本数据类型交换 int a =10; int b =20; change(a, b); System.out.println(a+" "+b); //数组交换 int[] array={1,2,3,4,5,6}; change1(array, 1, 2); for (int i = 0; i < array.length; i++) { System.out.print(array[i]+" "); } System.out.println(); //String类型交换 String srcString ="wangyi"; change2(srcString, "baidu"); System.out.println(srcString); String srcString2 ="tencent"; change2(srcString, srcString2); System.out.println(srcString); } } 基本数据类型交换 20 10 10 20 数组交换 1 3 2 4 5 6 1 3 2 4 5 6 String类型交换 baidu wangyi tencent wangyi
    转载请注明原文地址: https://ju.6miu.com/read-1301520.html
    最新回复(0)