打印流
PrintStream 是 OutputStream 的子类,PrintWriter 是 Writer 的子类。
打印流具有以下几个特点:
- 可以自动进行数据类型转换:打印流可以将各种数据类型转换为字符串,并输出到指定的输出流中。
- 可以自动进行换行操作:打印流可以在输出字符串的末尾自动添加换行符,方便输出多个字符串时的格式控制。
- 可以输出到控制台或者文件中:打印流可以将数据输出到控制台或者文件中,方便调试和日志记录。
PrintStream 类的常用方法包括:
print()
:输出一个对象的字符串表示形式。println()
:输出一个对象的字符串表示形式,并在末尾添加一个换行符。printf()
:使用指定的格式字符串和参数输出格式化的字符串。
printf 方法:
public PrintStream printf(String format, Object... args);
其中,format 参数是格式化字符串,args 参数是要输出的参数列表。格式化字符串包含了普通字符和转换说明符。普通字符是指除了转换说明符之外的字符,它们在输出时直接输出。转换说明符是由百分号(%)和一个或多个字符组成的,用于指定输出的格式和数据类型。
下面是 Java 的常用转换说明符及对应的输出格式:
%s
:输出一个字符串。%d
或%i
:输出一个十进制整数。%x
或%X
:输出一个十六进制整数,%x
输出小写字母,%X
输出大写字母。%f
或%F
:输出一个浮点数。%e
或%E
:输出一个科学计数法表示的浮点数,%e
输出小写字母 e,%E
输出大写字母 E。%g
或%G
:输出一个浮点数,自动选择%f
或%e/%E
格式输出。%c
:输出一个字符。%b
:输出一个布尔值。%h
:输出一个哈希码(16进制)。%n
:换行符。
除了转换说明符之外,Java 的 printf 方法还支持一些修饰符,用于指定输出的宽度、精度、对齐方式等。
- 宽度修饰符:用数字指定输出的最小宽度,如果输出的数据不足指定宽度,则在左侧或右侧填充空格或零。
- 精度修饰符:用点号(.)和数字指定浮点数或字符串的精度,对于浮点数,指定小数点后的位数,对于字符串,指定输出的字符数。
- 对齐修饰符:用减号(-)或零号(0)指定输出的对齐方式,减号表示左对齐,零号表示右对齐并填充零。