導航:首頁 > 知識科普 > java怎麼傳數組到方法

java怎麼傳數組到方法

發布時間:2022-09-28 19:43:09

① java傳遞數組:為什麼傳遞數組能通過傳遞一個數組給另一個方法並修改值後,能得到一個不一樣數組

這屬於傳值傳引用問題

首先一個問題 String str="1";這句話到底做了些什麼事情?
String str聲明一個變數str
"1"劃分一個值為"1"的內存空間
=號,使用變數str引用該內存空間。

理解了這個,再來看你的第二個例子:

int z=9
我們用->來表示「引用」關系
此時z->9,沒錯吧?
fun(z)將z的引用傳遞給該方法,參數為Int x
則,z->9,且x->9
然後x=10則是進行這一步:x->10
此時z的引用並沒有改變啊
所以 z還是保持9

再來看第一個例子
int[],在內存里並不存在這么一塊單獨的空間用於存放數組
它的做法是,劃分出和數組等量的空間出來,然後使用一個int[]歸納全部的空間
於是
你對int[]的傳遞fun(temp)其實是傳遞這個int[]引用
然後 取出來的int[0]自然是temp[0]
你對x[0]的操作x[0]=6並不是把x[0]原來引用的空間裡面的值替換成了6
而是x[0]不再引用1,轉而引用6

所以 你可以看到值發生了改變

② java如何把數組值傳遞給另一個函數


publicstaticvoidmain(String[]args){
int[]array1={1,2,3,4,5,6};
int[]array2={1,2,3,4,5,6};
sortArray(array1,array2);
}
publicstaticvoidsortArray(int[]array1,int[]array2){
//.........
}

③ 求解java中「把數組傳遞給方法」的一個概念性問題

我給你用大白話說吧。
當數組傳遞給參數時,傳遞的是這個數組的地址的值。這時形參的值(也就是數組的地址)同數組一樣都指向存儲數組的內存。所以你對形參進行操作想當於直接操作實參。
其實你要是懂他們在內存中的存儲方式就好懂多了。當新建一個數組時,電腦是不分配內存的,只有當初始化了之後才分配內存。你所用的(比如int[ ] array = {1,2,3})數組名array其實它代表的是一個地址,這個地址指向{1,2,3}。把array傳遞給了形參(比如max(int[ ] m,),這時形參m也是一個地址,同樣指向{1,2.3}。這個明白了嗎?

與java怎麼傳數組到方法相關的資料

熱點內容
中度失眠好的治療方法 瀏覽:42
銀河t8換底訓練方法 瀏覽:867
羊頸骨作用及食用方法 瀏覽:778
貧血頭暈最快治療方法 瀏覽:569
能通過什麼方法使喉結變小嗎 瀏覽:856
孕婦眼睛發炎了怎麼處理方法 瀏覽:143
ps路徑工具使用方法 瀏覽:711
哪裡可以找到軟糖配料方法 瀏覽:81
大科學研究方法 瀏覽:607
脖子黑了怎麼快速變白簡單方法 瀏覽:596
企業內訓師講解課程都用什麼方法 瀏覽:19
快速結鞋帶的方法 瀏覽:196
拔草拔灌木方法視頻 瀏覽:255
鹽酸左西替利嗪口服液食用方法 瀏覽:991
ginza卸妝油使用方法 瀏覽:211
快速解凍很多肉的方法 瀏覽:950
如何學好創業方法 瀏覽:75
分析老手的方法 瀏覽:176
治療肺炎症有什麼好的方法 瀏覽:429
腹肌健身搖擺器負重訓練方法 瀏覽:338