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

熱點內容
23歲閉嘴面膜使用方法 瀏覽:847
浮力簡單計算方法 瀏覽:156
物理排痰的治療方法 瀏覽:516
苯丙氨酸檢測方法 瀏覽:954
蘭州景觀溫室大棚安裝方法 瀏覽:25
pr剪輯素材常用的有哪四種方法 瀏覽:56
方法報怎麼做8年級 瀏覽:763
萬用表電感的測量方法 瀏覽:357
簡單的拼圖p圖軟體技巧方法 瀏覽:626
腰椎滑脫保守治療的方法有哪些 瀏覽:789
如何打緊箍繩結的方法 瀏覽:882
耳圍凹陷的診斷方法有哪些 瀏覽:522
鹼性食物有哪些清理方法 瀏覽:105
鋼軌導靜電連接方法 瀏覽:899
眼睛去水腫快速方法 瀏覽:515
圖形推理怎麼判斷用哪種方法 瀏覽:222
桃子要甜的種植方法 瀏覽:441
不銹鋼產品銷售技巧和方法 瀏覽:11
氣動黃油槍使用方法 瀏覽:754
瓦條安裝方法 瀏覽:681