输入和输出

println是print line的缩写,表示输出并换行。因此,如果输出后不想换行,可以用print()

注意观察上述代码的执行效果。

格式化输出

Java还提供了格式化输出的功能。为什么要格式化输出?因为计算机表示的数据不一定适合人来阅读:

输入和输出 - 图1

如果要把数据显示成我们期望的格式,就需要使用格式化输出的功能。格式化输出使用System.out.printf(),通过使用占位符%?printf()可以把后面的参数格式化成指定格式:

注意,由于%表示占位符,因此,连续两个%%表示一个%字符本身。

占位符本身还可以有更详细的格式化参数。下面的例子把一个整数格式化成十六进制,并用0补足8位:

输入和输出 - 图2

详细的格式化参数请参考JDK文档java.util.Formatter

和输出相比,Java的输入就要复杂得多。

我们先看一个从控制台读取一个字符串和一个整数的例子:

首先,我们通过import语句导入java.util.Scannerimport是导入某个类的语句,必须放到Java源代码的开头,后面我们在Java的中会详细讲解如何使用import

有了Scanner对象后,要读取用户输入的字符串,使用,要读取用户输入的整数,使用scanner.nextInt()Scanner会自动转换数据类型,因此不必手动转换。

要测试输入,我们不能在线运行它,因为输入必须从命令行读取,因此,需要走编译、执行的流程:

这个程序编译时如果有警告,可以暂时忽略它,在后面学习IO的时候再详细解释。编译成功后,执行:

根据提示分别输入一个字符串和整数后,我们得到了格式化的输出。

练习

请帮小明同学设计一个程序,输入上次考试成绩(int)和本次考试成绩(int),然后输出成绩提高的百分比,保留两位小数位(例如,21.75%)。

下载练习: (推荐使用IDE练习插件快速下载)

Java提供的输出包括:System.out.println() / print() / printf(),其中printf()可以格式化输出;

读后有收获可以支付宝请作者喝咖啡,读后有疑问请加微信群讨论

输入和输出 - 图3