1.将基本数据类型传递给方法
调用方法的时候是通过传值的方式将实参传递给形参。
当调用带参数的方法时,实参的值传递给形参,这个过程称为按值传递。如果实参是变量而不是直接量,则将该变量的值传递给形参。无论形参在方法中是否改变,该变量都不受影响。如下边代码所示,x(1)的值传给参数n,用以调用方法increment。在该方法中n自增1,而x的值则不论方法做了什么都保持不变。
public class text1 {
public static void main(String args[]){
int x = 1;
System.out.println("Before the call, x is " + x);
increment(x);
System.out.println("After the call, x is " + x);
}
public static void increment(int n){
n++;
System.out.println("n inside the method is " + n);
}
}
2.将数组传递给方法
当将一个数组传递给方法时,数组的引用被传给方法。
正如前面给方法传递基本数据类型的值一样,也可以给方法传递数组。
Java使用按值传递的方法将实参传递给方法。传递基本数据类型变量的值与传递数组值有很大的不同。
对于基本数据类型参数,传递的是参数的值。
对于数组类型参数,参数值是数组的引用,给方法传递的是这个引用。从语义上来讲,最好的描述就是参数传递的是共享信息,即方法中的数组和传递的数组是一样的。所以,如果改变方法中的数组,将会看到方法外的数组的变化了。
public class text1 {
public static void main(String args[]){
int x = 1;
int[] y = new int[10];
m(x, y);
System.out.println("x is " + x);
System.out.println("y[0] is " + y[0]);
}
public static void m(int number, int[] numbers){
number = 1001;
numbers[0] = 5555;
}
}