可变参数
- JDK1.5开始,Java智齿传递同类型的可变参数给一个方法。
- 在方法声明中,在指定参数类型后加一个省略号(…)。
- 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
代码示范
package src.com.method;
public class Demo03 {
//main方法
public static void main(String[] args) {
Demo03 demo03 = new Demo03();
demo03.printMax(1,2,6,8,10);
demo03.printMax(61,2,84,0,-1,6);
demo03.printMax(new double[]{2,22,21,0.7,81.3});
}
public void printMax(double... numbers){
if (numbers.length==0){
System.out.println("No argument passed");
return;
}
double result = numbers[0];
for (int i = 0; i < numbers.length; i++) {
if (result<numbers[i]){
result = numbers[i];
}
}
System.out.println("The max value is "+ result);
}
}
输出结果
当你不知道需要传入多少个参数时,可以使用可变参数
命令行传参
使用场景
- 有时候你希望运行一个程序的时候在传递给它消息。这要靠传递命令行参数给main()函数实现。
代码示范
package src.com.method;
public class Demo04 {
public static void main(String[] args) {
//args.Length 数组长度
for (int i = 0; i < args.length; i++) {
System.out.println("args["+i+"]:"+args[i]);
}
}
}
操作方法
- 通过IDEA下方的Terminal窗口进入命令行界面
-
通过打开java文件所在目录的终端命令行,
这里我们使用终端命令行,来到刚刚创建的java类文件目录下
在地址栏最前面加入cmd
然后空格,再回车直接打开当前目录下的命令行
输入javac Demo04.java
对文件进行编译
编译后的class文件如下
从代码的开头可以看到这个Demo04.java文件的包的路径是在D:\Java项目\basic
目录下的
所以要回退到basic目录下,再输入java src.com.method.Demo04
后方可执行编译
然后就可以传递参数了
总结
如果直接运行一个class文件,需要先找到包的路径,然后再去加载,否则是执行不了的,一定要把路径找对才可以执行!!也理解了main方法也是可以传递参数的。