1 /*
2
3 基本数据类型的值传递,不改变原值,因为调用后就会弹栈,局部变量随之消失
4 引用数据类型的值传递,改变原值,因为即使方法弹栈,但是堆内存数组对象还在,可以通过地址继续访问
5
6 基本数据类型传递给参数的是值
7 引用数据类型传递给参数的是地址
8
9 但是地址也是值,所以参数的传递,传递都是值.
10
11 */
12
13
14 class Demo5{
15 public static void main(String[] args) {
16 int a = 10;
17 int b =20;
18
19 System.out.println("a:"+a+"b:"+b);
20 change(a,b);
21 System.out.println("a:"+a+"b:"+b);
22
23 int[] arr = {1,2,3,4,5};
24 System.out.println(arr[1]);
25
26 }
27
28 public static void change(int a,int b){
29 System.out.println("a:"+a+"b:"+b);
30 a = b;
31 b = a+b;
32 System.out.println("a:"+a+"b:"+b);
33 }
34
35 public static void change(int[] arr){
36 for(int i=0;i<arr.length;i++){
37 if(arr[x]%2==0){
38 arr[x]*=2;
39 }
40 }
41 }
42 }