java学习笔记——java方法02.命令行传参与可变参数
命令行传参与可变参数
一、命令行传参
有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现。
命令行参数是在执行程序时候紧跟在程序名字后面的信息。
1. 下面的程序打印所有的命令行参数
public class Demo {
public static void main(String args[]){
for(int i=0; i<args.length; i++){
System.out.println("args[" + i + "]: " + args[i]);
}
}
}
2. 进入cmd,编译、执行java文件
第一次执行没有给参数,没有输出;
第二次执行在程序名后面紧跟参数,正确输出。
疑问:什么时候需要用到?和Scanner交互有什么区别?
二、可变参数
不确定要传递多少个参数,在定义方法的时候可以使用可变参数
public class Demo {
public static void main(String args[]){
printmax(8,2,52,4,5);
printmax(120,43,65);
}
//可变参数的声明格式:类型... 变量名
public static void printmax(int... a) {
if (a.length == 0){
System.out.println("no number");
return;
}
double result = 0.0;
for (int i = 0; i < a.length; i++){
if (a[i] > result){
result = a[i];
}
}
System.out.println("最大值是:" + result);
}
}
注意:一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。