参数传递的问题

基本数据类型与引用数据类型参数传递的问题

程序示例

public class SiKaoTiDemo1 {

    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: ?  ,   b: ?

        int[] arr = {1, 2, 3, 4, 5};

        change(arr);

        System.out.println(arr[1]);    //    ?

    }

    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=20+20=40

        System.out.println("a:" + a + ",b:" + b);    //   a:20,   b:40

    }

    public static void change(int[] arr) { //{1,4,3,8,5}

        for (int x = 0; x < arr.length; x++) {

            if (arr[x] % 2 == 0) {

                arr[x] *= 2;

            }

        }

    }

}

 

传值内存图解

 

posted @ 2021-12-02 20:09  赤兔胭脂小吕布  阅读(19)  评论(0编辑  收藏  举报