/*
* 方法的参数如果是基本数据类型:形式参数的改变不影响实际参数。
*
* 形式参数:用于接收实际参数的变量
* 实际参数:实际参与运算的变量
*/
package method.形式参数OR实际参数; public class XingCan { public static void main(String[] args) { int a = 10; int b = 20; System.out.println("a:"+a+",b:"+b);//a:10,b:20 change(a,b); System.out.println("a:"+a+",b:"+b);//??? a:10,b:20 } public static void change(int a,int b) {//a=10,b=20 System.out.println("a:"+a+",b:"+b);//a:10,b:20 a = b;//a=20 b = a + b;//b=40 System.out.println("a:"+a+",b:"+b);//a:20,b:40 } }
输出结果:
package method.形式参数OR实际参数; /* * 如果参数是引用数据类型: * 形式参数的改变直接影响实际参数 */ public class ShiCan { public static void main(String[] args) { int[] arr = {1,2,3,4,5}; for(int x=0; x<arr.length; x++) { System.out.println(arr[x]); } System.out.println("----------"); change(arr); System.out.println("~~~~~~~~~"); for(int x=0; x<arr.length; x++) { System.out.println(arr[x]); } } public static void change(int[] arr) { for(int x=0; x<arr.length; x++) { if(arr[x]%2==0) { arr[x]*=2; } System.out.println(arr[x]); } } }
输出: