導航:首頁 > 知識科普 > 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怎麼傳數組到方法相關的資料

熱點內容
眼鏡片卡槽拉絲與鏡架安裝方法 瀏覽:459
有什麼方法可以矯正近視眼 瀏覽:540
億萬台電腦列數字說明方法 瀏覽:34
初中生高考題解決方法 瀏覽:439
特殊測量技術方法特點 瀏覽:539
用化學方法鑒別真金和假金子黃銅 瀏覽:7
羊五號病怎麼治療土方法 瀏覽:484
增強手指肌力的訓練方法 瀏覽:182
擦車的正確方法 瀏覽:213
民間治療失眠的方法 瀏覽:502
斷奶後正確的回奶方法 瀏覽:362
聯想電腦打開麥克風在哪裡設置方法 瀏覽:971
如何測量水溫感測器方法 瀏覽:444
橋梁鋼腹板的安裝方法 瀏覽:746
中式棉襖製作方法圖片 瀏覽:71
五菱p1171故障碼解決方法 瀏覽:866
男士修護膏使用方法 瀏覽:554
電腦圖標修改方法 瀏覽:609
濕氣怎麼用科學的方法解釋 瀏覽:545
910除以26的簡便計算方法 瀏覽:813