gpt4 book ai didi

java - 使用 System.out.print 相对于 System.out.printf 有什么好处?

转载 作者:行者123 更新时间:2023-12-01 11:32:10 24 4
gpt4 key购买 nike

我有一个类似于 Is there a good reason to use "printf" instead of "print" in java? 的问题。该问题询问并回答了使用 System.out.print 的好处。超过System.out.printf 。我很好奇使用 System.out.print 的好处超过System.out.printf首先。

根据我的经验,我看到System.out.print使用频率大大高于 System.out.printf .

System.out.printf ,格式化数字时更具可读性。您仍然可以使用 + 连接字符串的语法糖。 's,如第二个 System.out 中所示。 System.out.printf还返回 PrintStream如果你想用它做任何事情。

示例:

int hour = 6;
int minutes = 5;
int seconds = 4;
System.out.printf("Time: %d:%02d:%02d", hour, minutes, seconds);
System.out.printf("Time: " + hour + ":%02d:%02d", minutes, seconds);
System.out.print("Time: " + hour + ":" + String.format("%02d", minutes) + ":" + String.format("%02d", seconds));
//Output for each line: Time: 6:05:04

System.out.printf("Print something!");
System.out.print("Print something!");
//Output for each line: "Print something!"

System.out.printf("End a line\n");
System.out.println("End a line");
//Output for each line: End a line [followed by a line break]

String x = "a variable";
System.out.printf("Add %s", x);
System.out.printf("Add " + x);
System.out.print("Add " + x);
//Output for each line: Add a variable

所以除了(我认为)大多数 Java 程序员使用 System.out.print ,它比System.out.printf有什么好处呢? ?内存或时间效率有明显差异吗?

最佳答案

使用字符串连接的

printprintf 的效率稍高。使用 print,开发人员可以在编译时确定需要将值插入到字符串中的位置,但使用 printf,您可以要求 JRE 解析您的格式字符串并在运行时插入值。除非您进行大量打印,否则这可能是一个可以忽略不计的差异,因此您应该选择最容易维护的方式。

关于java - 使用 System.out.print 相对于 System.out.printf 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30306577/

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