1. 程式人生 > >方法的引數值傳遞機制

方法的引數值傳遞機制

方法的引數傳遞(重難點)

1.形參:方法宣告時的引數(方法聲明裡小括號中的引數)
實參:呼叫方法時,實際傳入的引數的值
2.規則:Java中的引數傳遞機制:值傳遞機制
(1)形參是基本資料型別:將實參的值傳遞給形參的基本資料型別的變數

public class TestArgsTransfer {
    public static void main(String[] args) {
        TestArgsTransfer tt=new TestArgsTransfer();
        int i=20;
        int j=5;
        System.out.println(
"i:"+i+"j:"+j); //交換變數i和j的值 /*int temp=i; i=j; j=temp; System.out.println("i:"+j+"j:"+j);和下面的方法功能一樣*/ tt.swap(i,j);//將i的值傳遞給m,j的值傳遞給n System.out.println("i:"+i+"j:"+j); } //定義一個方法,交換兩個變數的值 public void swap(int m,int n){ int temp=m; m
=n; n=temp; } }


本身應該輸出的程式碼是i和j交換值的,但是因為i賦值給m,j賦值給n,輸出的卻依然是i和j,所以值還是不變
(2)形參是引用資料型別:將實參的引用型別變數的值(對應的堆空間的物件實體的首地址)傳遞形參的引用型別變數

public class TestArgsTransfer {
    public static void main(String[] args) {
        TestArgsTransfer tt=new TestArgsTransfer();
        DataSwap ds=new DataSwap();
        System.out.println(
"ds.i:"+ds.i+"ds.j:"+ds.j); tt.swap(ds); System.out.println("ds.i:"+ds.i+"ds.j:"+ds.j); } //交換元素的值 public void swap(DataSwap d){ int temp=d.i; d.i=d.j; d.j=temp; } } class DataSwap{ int i=10; int j=5; }