2.5 简单的输入与输出
输入和输出是程序中的重要组成部分,是实现人机交互的手段。输入是指把需要加工处理的数据放到计算机内存中,而输出则是把处理的结果呈现给用户。在Java中,通过使用System.in和System.out对象分别与键盘和显示器发生联系而完成程序的输入与输出。
2.5.1 输出
System.out对象包含着多个向显示器输出数据的方法。System.out对象中包含的最常用的方法如下。
println()方法:向标准输出设备(显示器)输出一行文本,并换行。
print()方法:向标准输出设备(显示器)输出一行文本,但不换行。
例如:
System.out.println("Hello");
System.out.println("World!");
执行该段代码后将在显示器上显示如下信息:
Hello
World!
print()方法与println()方法非常相似,两者的唯一区别在于println()方法完成输出后开始一个新行,而print()方法输出后并不换行。下面代码的执行结果显示了它们的差异:
System.out.print("Hello");
System.out.print("World!");
执行该段代码后将在显示器上显示如下信息:
HelloWorld!
2.5.2 输入
1.使用System.in对象
Java语言提供了多种获取用户输入的手段,一种方法是利用System.in对象直接读取键盘输入,另一种更加方便的方法是利用java.util.Scanner间接地从System.in读取键盘输入。下面是两个读取键盘输入的例子。
【例2.8】从键盘读入一个数字。
程序运行结果如图2-7所示。
图2-7 从键盘读入一个数字运算结果
【例2.9】从键盘读入一个字符串。
程序运行结果如图2-8所示。
图2-8 从键盘读入一个字符串运行结果
上述代码尚不完备,例如当输入的文字串中含有非数字字符时,程序将抛出异常。在Java中输入数据时,为了处理在输入数据的过程中可能出现的错误,需要使用异常处理机制,使得程序具有“健壮性”,本书将在后面的章节中详细介绍异常处理。
Scanner还提供了其他的方法,例如:
float nextFloat(); //读取一个单精度浮点数
int nextInt(); //读取一个整数
2.使用命令行参数:main()方法的String[]参数
除了从键盘获取用户的输入外,还可以通过命令行获取用户的输入,即从main()方法的参数中读取用户的输入。
【例2.10】从命令行参数输入:读入用户输入(一个字符串和一个整数)。
命令行的参数不是直接通过键盘输入的,而是在运行字节码文件时通过命令行指定的。如果运行环境是命令行窗口,可以通过下述命令指定参数的值:
javaExample2_10aString123
这时程序运行的结果应该是:
命令行的第1个参数是字符串:aString
命令行的第2个参数是整数:123
如果用的是EclipseIDE开发环境,直接运行该程序将会抛出异常:
Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException:1
at chap02.Example2_10.main(Example2_10.java:6)
这时需要在Eclipse中指定运行参数,方法是单击菜单中的【Run】→【Run Configurations】,打开Run Configurations界面,在Arguments中输入Program arguments为aString123,最后单击【Run】,得到的结果与前面相同。