导航:首页 > 研究方法 > java方法中传入数组什么意思

java方法中传入数组什么意思

发布时间:2022-04-23 19:36:24

Ⅰ 关于java通过方法调用传递一个数组的疑问

你好,我把答案写在注释上了。
public class JavaDemo10 {
public static void main(String args[]) {
//java的基本思想一切皆为对象 下面的语句定义一个整型数组对象,长度为10
int i[] = new int[10];
// 调用init是为了初始化数组对象,
//括号里输入i是因为你写的init方法接收一个整型数组的参数
//i的值你可以使用System.out.println(i);进行观察,其实就是它在内存中的地址
init(i);
// 调用print是为了按照你要的方式输出数组中的元素,
//括号里输入i是因为你写的print方法接收一个整型数组的参数
//i的值你可以使用System.out.println(i);进行观察,其实就是它在内存中的地址
print(i);// 我不明折,为什么调用print方法,为什么在括号里入输i,而且i的值是多少
}
public static void init(int x[]) // 因为x[]只是一个形参,你传递的是实参,只要类型一样就能接收
{
for (int y = 0; y < x.length; y++) {
x[y] = y + 1;
}
}

public static void print(int x[])//因为x[]只是一个形参,你传递的是实参,只要类型一样就能接收
{
for (int y = 0; y < x.length; y++) {
System.out.println("数据i[" + y + "]=" + x[y]);
}
}
}

Ⅱ java中数组是怎么作为函数参数进行传递的

举个例子和你说。
传递数组参数:
1. 传递数组
要传递数组到方法里,只要指明传入的参数是一个数组即可。
例:
public class ArrayDemo //定义主类
{
public static void main(String args[])
{
int a[]={8,23,7,6,9,23}; //定义一维数组
ArrayDemo min=new ArrayDemo (); //创建对象
min.arrayMin(a); //将一维数组a传入least()方法
}
public void arrayMin(int array[]) //参数array[]接受一维整形数组
{
int temp=array[0];
for(int i=0;i<array.length;i++)
if(temp>array[i])
temp=array[i];
System.out.println("最小的数为:"+temp);
}
}
从该例中可以看出,如果要将数组传递到方法里,只需在方法名后的括号内写上数组的名即可。二维数组的传递与一维数组相似,在需在方法里声明传入的参数是一个二维数组。

Ⅲ JAVA调用函数传入数组问题

【这段程序总共就3个方法】:
void main(string args[]);//主方法
void pp(int x[]);//打印的方法
int[] init()/;/给int数组赋值的方法
【调用关系】:
void main(string args[])调用int[] init(),并把init()返回来的int数组作为参数传入pp(int x[])中,pp()负责打印出传进来的int数组。
【int[] init()分析】:
public static int[] init(){//前面加int[]说明这个方法会返回一个int数组
int x[]=new int[10];//申请并分配空间
for(int y=0; y<x.length; y++){//从1到10循环赋值给int数组
x[y] = y+1;
}
return x;//return后面跟的是返回的值,x就是一个int数组
}
【void pp(int x[])分析】:
public static void pp(int x[]){//前面加void说明这个方法没有返回值
for(int y=0;y<x.length;y++){//循环打印传进来的int数组
system.out.println("数组["+y+"]= "+x[y]);
}
}
【void main(string args[])分析】:
public static void main(string args[]){//主函数
int i[]=init();//调用init()方法,把返回的int数组赋值给i[]
pp(i);//把i(int数组)传入pp()中,打印出i数组
}
================================================
刚开始学编程吧,希望以上的分析对你的理解有所帮助
================================================

Ⅳ JAVA方法中参数为数组的情况下,为什么是传值参数

1.对象就是传引用

2.原始类型就是传值

3.String等immutable类型因为没有提供自身修改的函数,每次操作都是新生成一个对象,所以要特殊对待。可以认为是传值。


Java数组视频教程:

Ⅳ java里数组如何作为参数传递给方法,以及如何在方法中返回数组

定义方法的时候可以在参数列表中定义传入参数的类型 例如
void method( int[] a)
或者使用可变参数
void method(object…obj)
而方法的返回值在方法内使用return定义 同时方法定义中的返回值类型也要同 return后的数据类型一致
例如
public int[] method(){
//代码块…
return 数组名;
}
希望能帮到你

Ⅵ 求解java中“把数组传递给方法”的一个概念性问题

我给你用大白话说吧。
当数组传递给参数时,传递的是这个数组的地址的值。这时形参的值(也就是数组的地址)同数组一样都指向存储数组的内存。所以你对形参进行操作想当于直接操作实参。
其实你要是懂他们在内存中的存储方式就好懂多了。当新建一个数组时,电脑是不分配内存的,只有当初始化了之后才分配内存。你所用的(比如int[ ] array = {1,2,3})数组名array其实它代表的是一个地址,这个地址指向{1,2,3}。把array传递给了形参(比如max(int[ ] m,),这时形参m也是一个地址,同样指向{1,2.3}。这个明白了吗?

Ⅶ java数组的传递

按照C的理解是传地址。Java的说法是传引用。

Java中基本数据类型是传值的。如boolean,byte,char,short,int,long,float,double。
Java中引用数据类型(包括数组,包括基本类型的数组)是传引用的。


int[] is = new int[]{1,2,3};
int[] is2 = is;
is2[0] = 10;
那么is[0]也跟着变化。

Ⅷ Java传入一个数组和返回一个数组

importjava.util.Arrays;

classEgg
{
publicString[]names;

publicString[]getOdd()
{
String[]arr=newString[0];
for(inti=1;i<names.length;i+=2)
{
String[]dest=newString[arr.length+1];
System.array(arr,0,dest,0,arr.length);
dest[dest.length-1]=names[i];
arr=dest;
}
returnarr;
}

publicString[]getEven()
{
String[]arr=newString[0];
for(inti=0;i<names.length;i+=2)
{
String[]dest=newString[arr.length+1];
System.array(arr,0,dest,0,arr.length);
dest[dest.length-1]=names[i];
arr=dest;
}
returnarr;
}
}

publicclassMain
{
publicstaticvoidmain(String[]args)
{
Eggegg=newEgg();
egg.names=newString[]{"yugi","kaiba","joey","kensou","yamazaki"};
System.out.println(Arrays.toString(egg.getOdd()));
System.out.println(Arrays.toString(egg.getEven()));
}
}

Ⅸ 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中 数组可以作为形式参数传递到调用的方法中吗要怎么操作

可以,操作代码如下:

public class ArrTest{

public static void doTest(String[] args){

for(int i=0;i<args.length;i++){

System.out.println(args[i]);

}

}

public static void main(String[] args){

String[] testArr = {"a","b","c","d"};

ArrTest.doTest(testArr );

}

}

(10)java方法中传入数组什么意思扩展阅读:

把数组作为参数传入一个方法,在该方法中对数组进行一些操作:如果仅仅是插入数据项等一般操作,那么该操作会影响到数组本身;反之,如调整数组大小、对数组赋值等操作,则对数组本身没有影响。

例子:

public class Tester {<br data-filtered="filtered">

public static void counter(int count) {<br data-filtered="filtered">

count = 2;<br data-filtered="filtered">

}<br data-filtered="filtered">

<br data-filtered="filtered">

public static void changeA1(int[] ints) {<br data-filtered="filtered">

int[] temp = { 4, 5, 6 };<br data-filtered="filtered">

ints = temp;<br data-filtered="filtered">

}<br data-filtered="filtered">

<br data-filtered="filtered">

public static void changeA2(int[] ints) {<br data-filtered="filtered">

ints[0] = 4;<br data-filtered="filtered">

ints[1] = 5;<br data-filtered="filtered">

ints[2] = 6;<br data-filtered="filtered">

}<br data-filtered="filtered">

<br data-filtered="filtered">

public static void main(String[] args) {<br data-filtered="filtered">

// Output: 1<br data-filtered="filtered">

// 基本数据类型没有改变。<br data-filtered="filtered">

int count = 1;<br data-filtered="filtered">

counter(count);<br data-filtered="filtered">

System.out.println("count: " + count);<br data-filtered="filtered">

<br data-filtered="filtered">

<br data-filtered="filtered">

int[] ints = { 1, 2, 3 };<br data-filtered="filtered">

<br data-filtered="filtered">

// Output: 1, 2, 3<br data-filtered="filtered">

// 对数组赋值,不会改变原始数组。<br data-filtered="filtered">

changeA1(ints);<br data-filtered="filtered">

for (int i = 0; i < ints.length; i++) {<br data-filtered="filtered">

System.out.print(ints[i] + " ");<br data-filtered="filtered">

}<br data-filtered="filtered">

<br data-filtered="filtered">

// Output: 4, 5, 6<br data-filtered="filtered">

// 可以对数组插入新的数据项。<br data-filtered="filtered">

System.out.println();<br data-filtered="filtered">

changeA2(ints);<br data-filtered="filtered">

for (int i = 0; i < ints.length; i++) {<br data-filtered="filtered">

System.out.print(ints[i] + " ");<br data-filtered="filtered">

}<br data-filtered="filtered">

}<br data-filtered="filtered">

}

阅读全文

与java方法中传入数组什么意思相关的资料

热点内容
有什么方法除锈 浏览:302
企业员工素质测评方法与分析论文 浏览:573
洗车机枪头连接方法 浏览:218
exceldatedif函数的使用方法 浏览:744
鸦胆子过敏治疗方法 浏览:919
治疗肾炎水肿的方法 浏览:627
孕期盆腔炎的治疗方法 浏览:647
迷你世界创造节中如何找到新的登录方法 浏览:997
csdn数组的常用方法 浏览:501
中考化学最爱考的鉴别方法 浏览:683
在水里的物体浮起来的方法有哪些 浏览:827
快速学做烘焙的方法 浏览:420
彩铅画眼睛的方法视频 浏览:871
抖音账号快速贴标签的三个方法 浏览:581
三角小窗安装方法 浏览:722
座套卡扣使用方法 浏览:408
治理人类不要用极端的方法出自哪里 浏览:536
工作井与隧道连接处加固方法 浏览:563
锦鲤常见病及治疗方法 浏览:289
肌酐高治疗方法 浏览:53