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的,那么average(2,6)就不行*/
double d=average(array);
System.out.println(a+" "+b+" "+c+" "+d);
}
}