在阅读我学校为Java分配的书时,我一直看到以空字符串开头的字符串连接。
具体来说,我只是在System.out.print*()
语句中连接字符串变量时才看到它(其中*是""或" ln")。
我试图寻找无济于事的理由;我怀疑我的措辞是关闭的。
我书中的一个例子是:System.out.println("" + stringVar + anotherStringVar);
虽然接近本书的最后,我发现了以下内容:
要确保打印字符,请按以下方式启动打印语句:
System.out.println("" + ...
在我的书的另一部分中,我发现System.out.print(num1 + " + " + num2 + " is " + (num1 + num2));
似乎违反了自己的规则。
为什么我的书推荐这样做?为什么它有时似乎忽略了这个规则?
答案 0 :(得分:1)
你的书有点过分,试图避免决定何时+
表示连接以及何时表示添加的复杂规则。作为练习,请比较以下输出:
System.out.println(1 + 2);
System.out.println("" + 1 + 2);
编辑:刚刚注意到有关确保“打印字符”的引用。是否有机会引用char
数据类型?这是一个特别令人困惑的情况,因为char
实际上是一种数字数据类型。看看在上面的例子中用'a'和'b'替换1和2时会发生什么。