详解Java函数传参

1.传参传基本类型

public static void fun(int x){
        x=100;
        System.out.println("x="+x);
    }
    public static void main(String[] args) {
        int a=10;
        fun(a);
        System.out.println("a="+a);
    }

详解Java函数传参_第1张图片

传基本数据类型时,传过去的是数值,形参只是实参的一份临时拷贝。出了fun函数,函数汇报销毁,所以修改形参不会改变实参。

2.传参传引用类型

public static void test(int[]newarray){
        newarray=new int[]{10,20,30};
    }
    public static void main(String[] args) {
        int[]array={1,2,3};
        test(array);
        System.out.println(Arrays.toString(array));
    }

 

详解Java函数传参_第2张图片

 详解Java函数传参_第3张图片

 传引用数据类型时,引用其空间中存储的是对象所在空间的地址,传引用的实质还是传值,只不过这个值是地址。所以通过传引用也无法改变实参的值。但是,可以通过下标来修改,如下。

    public static void test(int[]newarray){
        newarray=new int[]{10,20,30};
    }
    public static void test2(int[]newarray2){
        newarray2[1]=99;
    }
    public static void main(String[] args) {
        int[]array={1,2,3};
        test(array);
        test2(array);
        System.out.println(Arrays.toString(array));
    }

你可能感兴趣的:(java,开发语言,动态规划)