Java:为什么我的书开始使用空字符串串联连接字符串变量,特别是使用System.out.print()?

时间:2015-03-09 06:49:16

标签: java string concatenation

在阅读我学校为Java分配的书时,我一直看到以空字符串开头的字符串连接。 具体来说,我只是在System.out.print*()语句中连接字符串变量时才看到它(其中*是""或" ln")。 我试图寻找无济于事的理由;我怀疑我的措辞是关闭的。

我书中的一个例子是:System.out.println("" + stringVar + anotherStringVar);

虽然接近本书的最后,我发现了以下内容:

  

要确保打印字符,请按以下方式启动打印语句:System.out.println("" + ...

在我的书的另一部分中,我发现System.out.print(num1 + " + " + num2 + " is " + (num1 + num2));似乎违反了自己的规则。

为什么我的书推荐这样做?为什么它有时似乎忽略了这个规则?

1 个答案:

答案 0 :(得分:1)

你的书有点过分,试图避免决定何时+表示连接以及何时表示添加的复杂规则。作为练习,请比较以下输出:

System.out.println(1 + 2);
System.out.println("" + 1 + 2);

编辑:刚刚注意到有关确保“打印字符”的引用。是否有机会引用char数据类型?这是一个特别令人困惑的情况,因为char实际上是一种数字数据类型。看看在上面的例子中用'a'和'b'替换1和2时会发生什么。