Java 中 System 类提供了输出字符流的功能,其中 System.out 对象可以输出到标准输出流。在这个对象中,有两个常见的方法是 System.out.println() 和 System.out.write(),本文将详细讲解它们之间的区别以及使用场景和示例。
System.out.println() 和 System.out.write() 的区别
System.out.println()
System.out.println() 方法将指定的数据作为字符串打印在标准输出流中,并在行结束后附加换行符。
语法如下:
System.out.println(value);
其中 value 为要打印的值。
值得注意的是,如果 value 不是字符串,println() 方法会先将 value 转换为字符串,再输出到标准输出流中。
System.out.write()
System.out.write() 方法将单个字符作为参数,并将其写入标准输出流中,不附加换行符。
语法如下:
System.out.write(ch);
其中 ch 为要写入的字符。
值得注意的是,write() 方法只能写入字符,如果我们需要写入数字、字符串等其他类型的数据,需要先将其转换为字符并逐个写入。
使用示例
下面我们来看两个使用示例,更好地理解 System.out.println() 和 System.out.write() 的区别以及使用场景。
示例一
public class PrintStreamExample {
public static void main(String[] args) {
System.out.println("Hello World!");
System.out.write('H');
System.out.write('i');
}
}
输出结果:
Hello World!
Hi
可以看到,System.out.println() 方法输出了一整行字符串并附带了换行符,而 System.out.write() 方法则向标准输出流中写入了两个字符,没有在末尾加入换行符。
示例二
public class PrintWriterExample {
public static void main(String[] args) {
PrintWriter pw = new PrintWriter(System.out);
pw.println("Hello World!");
pw.write(49); // Unicode 编码为 49 的字符是数字 1
pw.write('A'); // 等同于 pw.print('A');
pw.flush();
}
}
输出结果:
Hello World!
1A
在示例中,我们使用 PrintWriter 类来代替 System.out 打印输出。通过 PrintWriter 对象调用 println() 方法和 write() 方法,可以看到输出结果与示例一类似。
需要注意的是,我们必须手动调用 PrintWriter 对象的 flush() 方法来强制将数据刷到输出流中,否则数据会滞留在输出缓存中。输出缓存是为了提高 IO 读写效率而设计的,可以通过缓冲区来减少 I/O 操作的次数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 中 System.out.println()和System.out.write()的区别 - Python技术站