在java中使用“printf”而不是“print”是否有充分的理由?

2022-09-02 12:11:11

我没有机会在学校里参加任何严肃的低级编程课程。(我知道我真的应该继续学习“幕后”,成为一个更好的程序员。我很欣赏Java的便利性,包括将任何内容粘贴到语句中的能力。但是,您有什么理由想要使用吗?System.out.printSystem.out.printf

另外,我应该避免在“实际应用程序”中进行这样的打印调用吗?使用某种UI功能将消息打印到客户端的显示器可能更好,对吧?


答案 1

PrintStream 类的 printf 方法提供类似于 C 中的函数的字符串格式设置。printf

的格式设置使用 Formatter 类的格式设置语法printf

当在一行中显示多个变量时,该方法可能特别有用,使用字符串串联会很繁琐:printf

int a = 10;
int b = 20;

// Tedious string concatenation.
System.out.println("a: " + a + " b: " + b);

// Output using string formatting.
System.out.printf("a: %d b: %d\n", a, b);

此外,编写 Java 应用程序并不一定意味着编写 GUI 应用程序,因此在编写控制台应用程序时,会使用 、 和其他将输出到 的函数。printprintlnprintfSystem.out


答案 2

如果您需要控制浮点数的精度,进行填充等,那就更好了。System.out.print可以打印出各种各样的东西,但你不能用它来精细控制精度和填充。