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

命令行传参

有时候你希望运行一个程序时候再传递给它消息,这要靠传递命令行参数给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的区别主要体现在两个方面:元素是否有序、是否允许元素重复。

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

展开阅读全文

页面更新:2024-02-28

标签:参数   省略号   不允许   零散   容器   元素   区别   声明   类型   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top