> 社会
命令行参数的使用(命令行参数是什么函数的参数)
导语:命令行传递参数、可变参数
命令行传参
有时候你希望运行一个程序时候再传递给它消息,这要靠传递命令行参数给main()函数实现。
public static void main(String args[]) { //args.length 数组长度 for (int i = 0; i < args.length; i++) { System.out.println(&34; + i + &34; +args[i]); } }
可变参数
JDK1.5开始,Java支持传递同类型的可变参数给一个方法。
在方法声明中,在指定参数类型后加一个省略号(...)。
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
public static void main(String args[]) { //调用可变参数的方法 printMax(34,3,2,5,56.2); printMax(new double[]{11.1,22.2,33.3}); } public static void printMax(double... numbers) { if (numbers.length == 0) { System.out.println(&34;); return; } double result = numbers[0]; //排序 for (int i = 1; i < numbers.length; i++) { if (numbers[i] > result) { result = numbers[i]; } } System.out.println(&34; + result); }//输出结果The max value is 56.2The max value is 33.3Process finished with exit code 0
每日Java面试题
一、List、Set、Map是否继承自Collection接口?
List、Set是,Map不是。Map是键值对映射容器,与List和Set有明显的区别,而Set存储的零散的元素且不允许有重复元素(数学中的集合也是如此),List是线性结构的容器,适用于按数值索引访问元素的情形。
二、Collections.sort排序内部原理
在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中,内部实现换成了TimSort,其对对象间比较的实现要求更加严格。
三、List、Set、Map之间的区别是什么?
List、Set、Map的区别主要体现在两个方面:元素是否有序、是否允许元素重复。
三者之间的区别,如下表:
本文内容由小春整理编辑!