Java 基础类库(与用户互动)

本文包含如下两点内容:

  1. 运行 java 程序的参数
  2. 使用Scanner 获取键盘输入

1.运行JAVA 程序的参数

在java 程序的入口处,main() 方法的形式如下:
Java 基础类库(与用户互动)
下面对里面的细节进行说明:
Java 基础类库(与用户互动)
Java 基础类库(与用户互动)
程序输出结果为 0,表明 args 数组是一个长度为0 的数组。

而如果运行时加上参数的话:
Java 基础类库(与用户互动)
运行结果如下图:
Java 基础类库(与用户互动)
即JVM 会把这些字符串依次赋给 args 数组元素,运行 java 程序时的参数和 args 数组之间的对应关系如下图所示:
Java 基础类库(与用户互动)
对于参数本身有空格的情况:
Java 基础类库(与用户互动)

2.使用Scanner 获取键盘输入

Scanner是对应上面运行类时加参数情况的升级,用于处理参数更多,更复杂的情况。

Scanner简介:
Java 基础类库(与用户互动)
Scanner主要提供了两个方法来扫描输入:
Java 基础类库(与用户互动)
Java 基础类库(与用户互动)
上面程序通过Scanner 不断从键盘读取键盘输入并打印出来。
如果希望改变Scanner 的分隔符(不使用空白,使用回车)
Java 基础类库(与用户互动)
Scanner 的读取操作有可能被阻塞
Java 基础类库(与用户互动)
Scanner采取如下两个简单的方法来逐行读取:
Java 基础类库(与用户互动)
上面程序中的Scanner 可以直接从输入流中获得long 型整数输入项。
上面的ScannerLongTest 程序要求键盘输入的必须是整数,否则程序就退出。

Scanner 不仅能读取用户的键盘输入,还能读取文件输入。只要在创建 Scanner 对象时传入一个 File 对象作为参数,就能让 Scanner 读取该文件的内容,例如如下程序:
Java 基础类库(与用户互动)
Java 基础类库(与用户互动)
该程序逐行读取文件中的内容,因为程序涉及文件输入,可能引发IO 相关异常,故主程序声明 throws Exception 表明main 方法不处理任何异常。