「java数组做函数参数」java 函数做参数
今天给各位分享java数组做函数参数的知识,其中也会对java 函数做参数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java里数组如何作为参数传递给方法,以及如何在方法中返回数组?
- 2、java中数组是怎么作为函数参数进行传递的
- 3、在Java中数组作为方法的参数的一个问题。
- 4、java类中用类的数组作为函数参数传给类,为什么不能直接对类的数组进行操作?
- 5、关于JAVA中数组做参数
- 6、java函数中怎么用数组做参数
java里数组如何作为参数传递给方法,以及如何在方法中返回数组?
定义方法的时候可以在参数列表中定义传入参数的类型 例如
void method( int[] a)
或者使用可变参数
void method(object…obj)
而方法的返回值在方法内使用return定义 同时方法定义中的返回值类型也要同 return后的数据类型一致
例如
public int[] method(){
//代码块…
return 数组名;
}
希望能帮到你
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;iarray.length;i++)
if(temparray[i])
temp=array[i];
System.out.println("最小的数为:"+temp);
}
}
从该例中可以看出,如果要将数组传递到方法里,只需在方法名后的括号内写上数组的名即可。二维数组的传递与一维数组相似,在需在方法里声明传入的参数是一个二维数组。
在Java中数组作为方法的参数的一个问题。
public static int add(int[] a)和public static int add(int a[])中的参数定义是相同的,都表示int类型的不定长数组,即数组的长度不同。
ublic static int add(int...a)中的int...a在java中称作可变参数,意思是这个add方法的参数是不固定的.相关特性如下,
Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。
可变参数的特点:
(1)只能出现在参数列表的最后;
(2)...位于变量类型和变量名之间,前后有无空格都可以;
(3)调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中 以数组的形式访问可变参数。
public class Varable {
public static void main(String [] args){
System.out.println(add(2,3));
System.out.println(add(2,3,5));
}
public static int add(int x,int ...args){
int sum=x;
for(int i=0;iargs.length;i++){
sum+=args[i];
}
return sum;
}
可以这样认为,可变参数只是数组的一种增强型,适用于工具类的封装,比如java的dao层Dbutl工具类,使用PreparedStatement进行预编译sql语句时,由于占位符的数量未知,我们就可以使用可变参数来设置占位符的数量
java类中用类的数组作为函数参数传给类,为什么不能直接对类的数组进行操作?
你说不行的代码段,关键在这:(简称为代码①)
Student stu[] = new Student[5];
Admin a = new Admin();
a.wyx(stu);
以及调用的时候:(简称为代码②)
public void wyx(Student stu[])
{
Scanner in = new Scanner(System.in);
String name = in.nextLine();
stu[0].setName(name);
System.out.println(stu[0].getName());
}
而后面你说可以的方法是这样的(简称为代码③)
public void wyx(Student stu[])
{
Scanner in = new Scanner(System.in);
String name = in.nextLine();
Student stud = new Student();
stud.setName(name);
stu[0] = stud;
System.out.println(stu[0].getName());
}
为什么不可以?这里你首先要清楚你在wyx方法里用到的形参是一个Student对象的数组,在代码②中,你直接使用stu[0].setName(name);,那么要想取得它的前提就是你的下标0有存在的对象,也就是你必须在你代码①里给你的stu 对象的0下标赋值,也就是:
stu[0] = new Student();
否则你只是给数组开辟了大小,但并未在相应的位置给定实例化的对象,那么你在代码段②里直接引用是引用到空指针上的,并不存在对象。恰好你在代码①中就只是使用了
Student stu[] = new Student[5];
并没有对数组里的做对象的初始化,所有你这个代码运行时会出错。
代码段③里,就恰恰符合上面所说,你创建一个新的对象:
Student stud = new Student();
再给它赋值了name,最后把这个对象给了stu数组对象的0下标
stu[0] = stud;
这样你的stu[0]具有正确的对象引用,你在后面的输出中调用它就正常了。
如果说你要前面方法可用,改为下面方式:
public class 类对类的操作 {
public static void main(String[] args)
{
Student stu[] = new Student[5];
stu[0] = new Student(); -- 这里创建一个新的Student实例,并让stu[0]引用,只是根据你后面方法只引用了stu[0]
Admin a = new Admin();
a.wyx(stu);
}
}
另外有一些简单的建议:
你的代码段里对数组的写法使用的是Student stu[],那么比较建议的写法是Student[] stu;
如果你真的要传递Student stu[] = new Student[5];,那么有两种建议:
① 你给你的数组对象先实例化好,可以用循环,如果没学到循环,可以一个一个创建;
② 如果不想在创建时候就实例化,那么也可以在使用的时候进行判断,判断如果是空引用,不包含对象再进行实例化,关键代码如下:
if (null == stu[0]) {
stu[0] = new Student();
}
关于JAVA中数组做参数
按照楼主的例子
Shuzu go=new Shuzu();
String a[][]=new String[4][4];
Shuzu的 shuzu()方法可以这么写
String[][] shuzu(a){
return a;
}
String b[][]=go.shuzu(a);
java函数中怎么用数组做参数
String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test 那么你在cmd运行 java test a b c 时,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中调用你输入的这些变量了。
(1)args[]不就是那个字符串This is a simple Java program嘛!
-------完全不是的,理解不对。运行的时候加个参数,比如 java test XX。然后在main函数里面加这段话:System.out.println("arg is"+args[0]),然后看看输出是不是这个:
This is a simple Java program
arg is XX
(2)在运行时输入java test xx yy zz,并且在main函数里面加这段话:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然后看看输出是不是:
This is a simple Java program
arg is xx yy zz
总结:不带String args[]的main函数和带String args[]的main函数,本质上已经不是同一个函数了,java 本身不存在不带String args[]的main函数。
关于java数组做函数参数和java 函数做参数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-28,除非注明,否则均为
原创文章,转载请注明出处。