Java 方法之形参和实参

/*
* 方法的参数如果是基本数据类型:形式参数的改变不影响实际参数。
*
* 形式参数:用于接收实际参数的变量
* 实际参数:实际参与运算的变量
*/
package method.形式参数OR实际参数;

public class XingCan {
    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:10,b:20

    }

    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=40
        System.out.println("a:"+a+",b:"+b);//a:20,b:40
    }
}

输出结果:

package method.形式参数OR实际参数;
/*
 * 如果参数是引用数据类型:
 *         形式参数的改变直接影响实际参数
 */
public class ShiCan {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5};
        for(int x=0; x<arr.length; x++) {
            System.out.println(arr[x]);
        }
        System.out.println("----------");
        change(arr);
        System.out.println("~~~~~~~~~");
        for(int x=0; x<arr.length; x++) {
            System.out.println(arr[x]);
        }
    }


    public static void change(int[] arr) {
        for(int x=0; x<arr.length; x++) {
            if(arr[x]%2==0) {
                arr[x]*=2;
            }
            System.out.println(arr[x]);
        }
    }
}

输出:

猜你喜欢

转载自www.cnblogs.com/longesang/p/10919095.html