首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在java中使用"printf“而不是"print”有什么好的理由吗?

在java中使用"printf“而不是"print”有什么好的理由吗?
EN

Stack Overflow用户
提问于 2009-02-14 00:40:06
回答 4查看 54.7K关注 0票数 19

在学校,我还没有机会参加任何严肃的低级编程课程。(我知道我真的应该继续学习“幕后”,成为一名更好的程序员。)我欣赏Java语言的便利,包括将任何内容插入到System.out.print语句中的能力。然而,有没有什么理由让你转而使用System.out.printf呢?

另外,在“真正的应用程序”中,我应该避免像这样的打印调用吗?使用某种UI函数将消息打印到客户机的显示器上可能更好,对吧?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-02-14 00:57:31

PrintStream类的printf方法提供了类似于C中的printf函数的string formatting

printf的格式设置使用Formatter class' formatting syntax

当在一行中显示多个变量时,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应用程序并不一定意味着编写图形用户界面应用程序,因此在编写控制台应用程序时,可以使用printprintlnprintf和其他将输出到System.out的函数。

票数 30
EN

Stack Overflow用户

发布于 2009-02-14 00:48:55

如果你需要控制你的浮点数的精度,做填充等,这是更好的。System.out.print可以打印出所有类型的东西,但你不能用它进行精度和填充的细粒度控制。

票数 3
EN

Stack Overflow用户

发布于 2009-02-14 00:49:47

通常,在“真实”应用程序中,您需要编写日志记录系统,如java.util.Logging或commons logging,它们能够记录各种级别的详细信息(即“调试”模式,在生产环境中将被禁用)。然而,对于快速和肮脏的临时调试,有时System.out.println()是最简单的方法(假设您的运行时环境将标准输出转储到您可以读取的地方)。

我还应该提到,您可以始终使用"String.format()“通过格式和变量参数列表创建字符串(然后将该字符串传递到日志记录方法或System.out.println中)。这通常比将一堆变量连接成一个字符串要好。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/548249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档