我刚开始写《 Head First Java》一书。由于双引号(“”)在下面的代码中没有空格,因此有一项使我烦恼的练习。我想我已经弄明白了,但是它看起来并不像书中所解释的那样,我想确保我正确地前进了。
下面代码中双引号(“”)的目的是连接两个整数(x和y),并防止+运算符对输出执行加法运算吗?看起来就是这样。
以下代码的输出是:00 11 21 32 42。
我删除了双引号,并且输出给了我:0 2 3 56。
class Test
{
public static void main (String[] args)
{
int x = 0;
int y = 0;
while ( x < 5)
{
y = x - y;
System.out.print(x + "" + y + " ");
x = x + 1;
}
}
}
以下代码中双引号(“”)的目的是连接两个整数(x和y),并防止+运算符对输出执行加法运算?
就是这样。另一种可能是类似
print(String.valueOf(x) + String.valueOf(y) + " ")
可读性差很多。也可以像"" + x + y + " "
一样在开始时强制使用String类型,只要在开始使用+
运算符之前就处理String。
回答您的直接问题:您正确地认为""
可以将+
变成串联,而不是加法。但是,我将提供更多有关此处发生情况的详细信息。