值传递与引用传递

值传递的本质是:传递的是只是数据的副本,数据没有做出交换

引用传递的本质是:指向数组的地址,所以数值发生的变换

package four;

import java.util.Scanner;

public class chuandi {
    //值传递
    static void exchange1(int x,int y){
        int temp=x;
        x=y;
        y=temp;
    }
    //引用传递
    static void exchange2(int[] a){
        int temp=a[0];
        a[0]=a[1];
        a[1]=temp;
    }
    public static void main(String[] args){
//        Scanner inuot=new Scanner(System.in);
        int number1=1001;
        int number2=1002;
        System.out.println("程序员1的编号:"+number1);
        System.out.println("程序员2的编号:"+number2);
        exchange1(number1,number2);
        System.out.println("程序员1的编号:"+number1);
        System.out.println("程序员2的编号:"+number2);
        
        
        
        int[] num=new int[2];
        num[0]=1001;
        num[1]=1002;
        System.out.println("程序员1的编号:"+num[0]);
        System.out.println("程序员2的编号:"+num[1]);
        exchange2(num);
        System.out.println("程序员1的编号:"+num[0]);
        System.out.println("程序员2的编号:"+num[1]);
    }
}

下面是运行结果

 

posted @ 2018-03-21 10:46  青柠檬茶  阅读(90)  评论(0编辑  收藏  举报