1 /* 2 思考题1:看程序写结果,然后分析为什么是这个样子的。 3 4 Java中的参数传递问题: 5 基本类型:形式参数的改变对实际参数没有影响。 6 引用类型:形式参数的改变直接影响实际参数。 7 */ 8 class ArgsDemo { 9 public static void main(String[] args) { 10 int a = 10; 11 int b = 20; 12 System.out.println("a:"+a+",b:"+b); //a:10,b:20 13 change(a,b); 14 System.out.println("a:"+a+",b:"+b); //??? a:10,b:20 15 16 int[] arr = {1,2,3,4,5}; 17 change(arr); 18 System.out.println(arr[1]); //??? 4 19 } 20 21 public static void change(int a,int b) { //a=10,b=20 22 System.out.println("a:"+a+",b:"+b); //a:10,b:20 23 a = b; //a=20 24 b = a + b; //b=40 25 System.out.println("a:"+a+",b:"+b); //a:20,b:40 26 } 27 28 public static void change(int[] arr) { //arr={1,2,3,4,5}; 29 for(int x=0; x<arr.length; x++) { 30 if(arr[x]%2==0) { 31 arr[x]*=2; 32 } 33 } 34 //arr={1,4,3,8,5}; 35 } 36 }
Java中的参数传递问题图解