Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中println命令的需要_Java - Fatal编程技术网

java中println命令的需要

java中println命令的需要,java,Java,在java语言中,我们使用两种打印方法。一个是“print”,第二个是“println”。 但为什么我们需要一个额外的命令“println”,如果只有一个区别的话,那就是它在最后插入了一个新行,但是我们可以像在c/c++中一样在print命令中使用一个新行字符。 为什么要在java中添加一个额外的命令。我不确定我的答案,但可能是因为如果我们必须自己在c中给出新行,我们就给出printf(“\n”),这里的问题是,对于每个操作系统,新行都是不同的。 例如: 在windows中-“\r\n” 在un

在java语言中,我们使用两种打印方法。一个是“print”,第二个是“println”。 但为什么我们需要一个额外的命令“println”,如果只有一个区别的话,那就是它在最后插入了一个新行,但是我们可以像在c/c++中一样在print命令中使用一个新行字符。
为什么要在java中添加一个额外的命令。

我不确定我的答案,但可能是因为如果我们必须自己在c中给出新行,我们就给出printf(“\n”),这里的问题是,对于每个操作系统,新行都是不同的。 例如:

在windows中-
“\r\n”

在unix中-
“\n”

在mac中-
“\r”

因此,为了避免开发人员记住这个
println

编辑

有关mac的新线路提要,请参阅本讨论-

注释如下
Honza Zidek的评论所示:
1.Java也有printf()方法,该方法接受一个控制序列%n,该序列被目标操作系统的适当行尾替换。

2.有一个方法System.lineSeparator()返回正确的行尾标记。参见

Java中还有
printf
,这是一个非常常见的用例。我们不需要它,这个类可能只有一个方法,但多个方法充当助手。这个问题可能不是很聪明,但niraj17的回答表明它背后有某种东西,而不仅仅是一条捷径。OP感到困惑,认为只添加
\n
就足够了。我不同意它是“主要基于观点的”。@HonzaZidek是的,它不是观点-based@AndrewTobilko我同意这个问题本来可以提出得更好,但仍然值得考虑。即使是这样一个微不足道的问题也可能表明问题比OP预期的还要严重。我投票赞成重新开放。我不认为Mac使用的只是苹果过去使用的
\r
。由于它们现在是基于BSD的,所以可能已经更改了。很好的一点是,
println
通过读取
line.separator
属性而不是硬编码
\n
或任何其他行分隔符来解决此问题,
System.out.println(“…”
System.out.print(“…\r\n”)更可读
我同意你的回答。为了完整起见,您可以添加以下两个注释:1。Java还具有
printf()
方法,该方法接受一个控制序列
%n
,该序列由目标操作系统的适当行尾替换。2.有一种方法
System.lineSeparator()
返回正确的行尾标记。看见