java方法里的命令行参数和可变长参数

java的命令行参数

public static void main(String[] args)

在main方法里一个字符串数组的参数,该数组中存放是所有的命令行参数,命令行采纳数是给java应用程序提供数据的手段之一,它跟在命令行运行的主类名后,给参数之间用空格隔开。

class Test{

public static void main(String[] args){

int a,b,c;

if(args.length<2){System.out.println("请输入两个数方便相乘呀!");

System.exit(0);//结束程序运行

}

a=Integer.parseInt(args[0]);//第一个参数

b=Integer.parseInt(args[1]);//第二个参数

c=a*b;

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

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

}

System.out.println(c);

}

}

所有的命令行参数都是以字符串String类型的对象存在的,如果希望将参数作为其他类型的数据使用,则需要相应的类型转换。使用命令行参数还需要主要数组的args[]越界的问题

java方法的可变长参数

在java里的方法提供了变长参数,参数定义的时候,使用“···”表示可变长参数。可变长参数对应的实参可以是任意多个实参(包括0个),一个方法不允许有多个可变长参数,而且可变长参数必须处于方法参数排列的最后位置!

class Test{

static double average(double... args){

double sum=0;

for(double v:args)

sum+=v;

return args.length==0?0:sum/args.length;

}

public static void main(String[] args){

double a=average(2.3,4.5,6,8);

double b=average(2,5);

double c=average();

double[] array={55,87,68};/*可变长参数是兼容数组类参数的,但是数组类参//数无法兼容可变参数,例如,如果将average里的参数改为array的,那么average2,6)就不行*/

double d=average(array);

System.out.println(a+"        "+b+"        "+c+"        "+d);

}

}

 

おすすめ

転載: blog.csdn.net/weixin_54438368/article/details/120374155
おすすめ