基本类型交换不会改变其值,以为在每个函数会在栈中有自己的内存,主函数和调用函数都有自己的栈内存,当调用函数执行完后其栈内存就会释放,故基本类型不会得到改变数组类型可以交换,在函数的栈中的变量都指向同一个堆中的数组,故可以交换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();
}
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 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