方法的形式参数分别是:基本数据类型和引用类型之数组
class ArgsDemo{
public static void main(String[] args){
//定义两个变量
int a = 10;
int b = 20;
System.out.println("a:"+a+",b"+b);//10,20
change(a,b);
System.out.println("a:"+a+",b"+b);//10,20
int[] arr = {1,2,3,4};//new int[] {1,2,3,4}
change(arr);
System.out.println(arr[1]);
}
//形参是两个基本数据类型,传递的值是数据值
public static void change(int a,int b){//局部变量的生命周期随着方法调用的存在而存在,
//随着方法的调用完毕而消失
System.out.println("a:"+a+",b"+b);//10,20
a = b;
b = a + b;
System.out.println("a:"+a+",b"+b);//20,40
}
//形式参数为引用类型,传递的是空间地址
public static void change(int[] arr){
//遍历
for(int x = 0;x < arr.length;x++){
if(arr[x]%2 == 0){
arr[x] *= 2;
}
}
}
}
结论:
形式参数如果是一个基本数据类型,形式参数改变对实际参数没有影响
方法的形式参数如果是引用类型:(数组、类、接口),形式参数的改变会直接影响实际参数
String是引用类,他如果作为形式参数->特点跟基本数据类型特点一样