JAVA中值傳遞和引用傳遞

2021-08-19 21:06:24 字數 1752 閱讀 3621

浮點型:float,double

字元型:char

布林型:boolean

引用資料型別 

實際引數:呼叫方法時寫的具體數值。

public

static

void

main(string args)

public

static

void

swap(int a, int b)

a = 20

b = 10

num1 = 10

num2 = 20

呼叫swap方法,swap( )進棧,將num1和num2的值,複製乙份給a和b。

swap方法中對a、b的值進行交換。

swap方法執行完畢,a、b的值已經交換。

swap方法彈棧。

主函式彈棧。

public

static

void

main(string args) ;

change(arr);

system.out.println(arr[0]);

}//將陣列的第乙個元素變為0

public

static

void

change(int array)

0
呼叫change方法,change( )進棧,將arr的位址值,複製乙份給array。

change方法中,根據位址值,找到堆中的陣列,並將第乙個元素的值改為0。

change方法執行完畢,陣列中第乙個元素的值已經改變。

change方法彈棧。

主函式彈棧。

public

static

void

main(string args)

public

static

void

change(string s)

aaa

等效於:

char data = ;

string str = new string(data);

public

static

void

main(string args)

public

static

void

change(string s)

string str = new string(data);

s = str;

}

呼叫change方法,change( )進棧,將str1的位址值,複製乙份給s。

change方法中,重現建立了乙個string物件」abc」,並將s指向了新的位址值。

change方法執行完畢,s所指向的位址值已經改變。

change方法彈棧。

主函式彈棧。

class person 

}public

class

test

public

static

void

change(person p)

}

張三
引用傳遞的時候,將實參的位址值,copy乙份給形參。

c 中值傳遞和引用傳遞

物件在方法間傳值,傳遞的是物件的值,或者這個物件的引用的副本 首先建立乙個物件 public class orderinfo 建立乙個方法去改變這個物件 private void change orderinfo order 然後通過方法的呼叫檢視變化 private void btnchange ...

Python中值傳遞和引用傳遞區別

python中對乙個函式可以傳遞引數,但是如何分辨是值傳遞還是引用傳遞,不是程式設計師手動控制的,而是python根據你傳入的資料物件,自動識別的。如果你傳入的引數物件是可變物件 列表,字典,這個時候就是引用傳遞,如果引數在函式體內被修改,那麼源物件也會被修改。如果你傳入的引數物件是不可變的物件 數...

Python中值傳遞和引用傳遞區別

python中對乙個函式可以傳遞引數,但是如何分辨是值傳遞還是引用傳遞,不是程式設計師手動控制的,而是python根據你傳入的資料物件,自動識別的。如果你傳入的引數物件是可變物件 列表,字典,這個時候就是引用傳遞,如果引數在函式體內被修改,那麼源物件也會被修改。如果你傳入的引數物件是不可變的物件 數...