哪个是首选的System.out.print()或System.out.printf()?

时间:2013-11-20 15:24:29

标签: java

我看到输出到控制台的最常见方式是:

System.out.print("..");

System.out.println(".."); // New Line

但是我一次又一次地遇到这样的事情:

int answer = 42;
System.out.printf("%2d is the answer.", answer);

我感谢printf让您更好地控制输出的格式。我的问题是,你何时应该使用printf而不是其他选项?哪个更好的做法/首选?

2 个答案:

答案 0 :(得分:3)

您的问题实际上演示了首选用例:如果您想将值注入正在打印的文本中(特别是如果您需要特定格式),请使用printf();否则,请使用print()println(),具体取决于您是否要在结尾添加换行符。

另外,如果您想在使用printf()时插入与平台相关的换行符,则可以使用%n转义序列。

答案 1 :(得分:2)

printf没有被广泛使用的一个重要原因是因为它直到Java 1.5才被添加。

没有最佳实践方法,所以请使用最适合您需求的方法。