命令行传递参数、可变参数

命令行传递参数、可变参数

命令行传参

有时候你希望运行一个程序时候再传递给它消息,这要靠传递命令行参数给main()函数实现。

public static void main(String args[]) {
       //args.length 数组长度
       for (int i = 0; i < args.length; i++) {
           System.out.println("args[" + i + "]:" +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("No argument passed");
           return;
      }

       double result = numbers[0];

       //排序
       for (int i = 1; i < numbers.length; i++) {
           if (numbers[i] > result) {
               result = numbers[i];
          }
      }
       System.out.println("The max value is " + result);
  }

//输出结果
The max value is 56.2
The max value is 33.3

Process 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的区别主要体现在两个方面:元素是否有序、是否允许元素重复。

三者之间的区别,如下表:

 

posted @   崔九八  阅读(129)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示