gpt4 book ai didi

java - System.out.println() 除了将输出打印到控制台外还有其他用途吗?

转载 作者:行者123 更新时间:2023-12-04 02:25:15 25 4
gpt4 key购买 nike

我在面试中被问到以下问题:

Does System.out.println() have any other use than printing output to the console?

最佳答案

System.out

System.out 是一个类型为 PrintStreamstatic 对象 .它包含对通常是控制台的标准输出流 的引用。通常,当您想要在控制台应用程序中向用户交互或显示消息、将状态和错误消息记录到控制台时,打印到控制台很有用。打印出变量的值以及检查程序是否到达特定的 if-else 分支或循环对于调试非常有用。


System.err

还有一个名为System.err 的对象,它包含对标准错误流 的引用。它通常也是控制台,System.out 也持有引用的控制台。因此,你可以这样写:

System.err.println("Message");

您会在控制台上收到一条消息,就像您使用 System.out 一样。但通常建议使用 err 来打印错误信息。


重定向

虽然 System.out 包含对控制台的引用,但 System 类为您提供了一个名为 setOut() 的方法:

public void setOut(PrintStream out)

类似地,还有方法setErr(PrintStream),甚至还有一个setIn(InputStream)可以用来改变outerrin 来引用不同的流,比如一个文件,所以你可以这样做:

PrintStream standardOut = System.out;
PrintStream fileOut = new PrintStream(new File("filename.txt");
System.setOut(fileOut);

System.out.println("Hello World!") // This will output to the file

System.setOut(standardOut); // Reset to the standard output stream

PrintStream的其他方法

除了printlnPrintStream 还定义了类似printf 的方法。和 format它还允许您格式化输入,就像使用 C 语言一样。这两种方法是相同的:

int n1 = 10, n2 = 20;
int sum = n1 + n2;
System.out.printf("%d + %d = %d", n1, n2, sum);
System.out.format("%d + %d = %d", n1, n2, sum);

关于java - System.out.println() 除了将输出打印到控制台外还有其他用途吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68281390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com