导航:首页 > 知识科普 > 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怎么传数组到方法相关的资料

热点内容
转子的开路短路搭铁检测方法 浏览:479
鉴别真假匡威帆布鞋的简单方法 浏览:746
发电机负载计算方法 浏览:907
1998年真假茅台鉴别方法 浏览:209
清廉文化进校园的教学方法 浏览:304
如何用简单方法写作文 浏览:895
胺碘酮计算方法 浏览:785
英语降分的最佳方法 浏览:230
高压电手机使用方法 浏览:543
冰箱运行灯不亮的原因和解决方法 浏览:273
红米4手势唤醒屏幕在哪里设置方法 浏览:411
气动圆盘怎么使用方法 浏览:376
手机usb电扇使用方法 浏览:407
小肚子大要用什么方法减 浏览:728
cpvc污水管安装方法 浏览:954
民营企业抗风险能力弱的解决方法 浏览:279
鲜金银花的食用方法 浏览:185
白银铂金钯金的鉴别方法 浏览:318
工作栏灰色解决方法 浏览:908
椒盐如何制作方法 浏览:132