Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

main 参数数组中的第一个元素是什么?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

args[0] 是传给 Java 程序的第一个应用参数,不是类名,也不是 java 命令本身。没有应用参数时,数组长度为 0;这时访问 args[0] 会抛 ArrayIndexOutOfBoundsException。

讲清原理

例如 java Hello alpha beta 中,启动器先用 Hello 确定入口类,再把 alpha 和 beta 作为应用参数传给 main。JVM 启动选项、类名与应用参数各有自己的位置和解释规则,不能全部算进 args。

参数怎样切分,还受 shell 的引号、空格与转义规则影响。它们最终进入 main 时都是字符串;需要数字时由程序自己解析,并处理错误输入。

例子与易错点

public class Arguments {
    public static void main(String[] args) {
        if (args.length > 0) System.out.println(args[0]);
        else System.out.println("没有参数");
    }
}

运行 java Arguments first second 打印 first。编写入口逻辑时先检查长度,不要把“测试时总有参数”当作程序保证。

相关题:第 12 题、第 14 题。

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。