参数传递:在调用方法时向方法内传入一些数据的动作。
【形式参数】:在定义方法的时候,写在小括号之内的参数
例如:public static int sum(int a ,int b) {...} 这里a和b是形式参数.
【实际参数】:调用方法时真正传入方法里的数据,实际参数
例如:int num = sum(10,20);这里10和20位实际参数。
参数传递过程中:
-
对于基本数据类型(以及String)来说,形式参数的操作【不会】影响实际参数。
-
对于引用数据类型(除了String)来说,形式参数的操作【会】影响实际参数。
public class MethodParam {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a=" + a); // 10
System.out.println("b=" + b); // 20
change(a, b);
// 基本数据类型,参数传递后不变
System.out.println("a=" + a); // 10
System.out.println("b=" + b); // 20
//引用数据类型,参数传递后改变
int[] array = {10,20,30};
System.out.println(array[0]); //10
System.out.println(array[1]); //20
System.out.println(array[2]);//30
change(array);
System.out.println(array[0]); //100
System.out.println(array[1]); //200
System.out.println(array[2]); //300
}
public static void change(int x, int y) { // 定义一个方法,扩大十倍。
x *= 10;
y *= 10;
System.out.println("x=" + x); // 100
System.out.println("y=" + y); // 200
}
public static void change(int[] arr) {
arr[0] *=10;
arr[1] *=10;
arr[2] *=10;
System.out.println(arr[0]); //100
System.out.println(arr[1]); //200
System.out.println(arr[2]); //300
}
}