一、值传递和引用传递
在Java中 方法的传参 基本数据类型 传的是值
值传递 值在该方法中 改变 属于局部变量改变
当出了该方法 就没有作用了
在Java中 方法的传参 引用数据类型 传的是地址值
当传入 arr数组在内存中的地址值后 堆内存中连续空间中值发生改变
可以影响数组整体
*****
String / 基本数据类型包装类 虽然是引用数据类型 但是在方法传参的时候 传的是值
二、引用
import java.util.Arrays;
class Demo_04
{
public static void main(String[] args)
{
/*
java中的值传递和引用传递
看程序 写结果
*/
int a = 1;
int b = 2;
System.out.println("a="+a+",b="+b);
change(a,b);
System.out.println("change over main a="+a+",b="+b);
int[] arr = {10,20,30,40};
System.out.println(Arrays.toString(arr));
change(arr);
System.out.println("changeArr:::"+Arrays.toString(arr));
}
/*
在Java中 方法的传参 基本数据类型 传的是值
值传递 值在该方法中 改变 属于局部变量改变
当出了该方法 就没有作用了
*/
public static void change(int a,int b){
System.out.println("Change::a="+a+",b="+b);
a = b;
b = a + b;
System.out.println("Change over::a="+a+",b="+b);
}
/*
在Java中 方法的传参 引用数据类型 传的是地址值
当传入 arr数组在内存中的地址值后 堆内存中连续空间中值发生改变
可以影响数组整体
*/
public static void change(int[] arr){ // arr=地址值
for(int i=0;i<arr.length;i++){
arr[i]*=2;
}
}
}