本帖最后由 留不下什么 于 2013-9-20 21:10 编辑
class Demo { public static voidmain(String[] args) { int a=12,b=23; System.out.println("a="+a+",b="+b); change(a,b); System.out.println("a="+a+",b="+b); int[] arr ={1,2,3,4,5}; printArray(arr); System.out.println("操作后"); change(arr); printArray(arr); } public static voidchange(int a,int b){ System.out.println("a="+a+",b="+b); a = a + b; b = 10; System.out.println("a="+a+",b="+b); } public static voidchange(int[] arr){ for(int x=0;x<arr.length; x++){ if(arr[x]%2==0){ arr[x]*=2; } } } public static voidprintArray(int[] arr) { for (int x = 0;x < arr.length ;x++ ){ System.out.print(arr[x]+ " "); } } } a=12,b=23 a=12,b=23 a=35,b=10 a=12,b=23 1 2 3 4 5 操作后 1 4 3 8 5
为什么 public static void change(int[] arr) 没有返回改变后的数组给主函数, 但是主函数再调用 public static void printArray(int[] arr) 函数的时候,却把更改后的数组传给了它?
|