我无法解释课程中的一段代码。代码是:
region
结果是:
%java PoolPuzzleOne
噪音
惹恼
牡蛎
我很担心class PoolPuzzleOne {
public static void main(String[] args) {
int x = 0;
while (x < 4) {
System.out.print("a");
if (x < 1) {
System.out.print(" ");
}
System.out.print("n");
if (x > 1) {
System.out.print("oyster");
x = x + 2;
}
if (x == 1) {
System.out.print("noys");
}
if (x < 1) {
System.out.print("oise");
}
System.out.println("");
x = x + 1;
}
}
}
在&#34;牡蛎&#34;之后的含义。打印。这是否意味着这将以&#39; 2&#39;的增量标记x = x + 2;
。而不是传统的增量&#39; 1&#39;对于x
的特定测试?
答案 0 :(得分:0)
x = x + 2
用于终止你的while循环。如果您注意到while循环仅在x < 4
时循环,但在打印&#34; oyster&#34; x必须至少大于1。在牡蛎之后似乎没有其他东西被打印出来,所以你在x中添加2以使循环终止。
答案 1 :(得分:0)
当您使用类似x = x + 2;
的操作时,您将该值添加到该变量。
如果x
是一个数字(int, double, float, Integer, etc)
,那么无论您如何订购,结果都将始终相同。
例如:
x = x + 2;
与x = 2 + x;
相同,与x += 2;
相同。
字符串几乎相同。
如果您有此代码:
String text = "test";
text = text + 1;
System.out.println(text);
输出将为"test1"
对于此代码:
String text = "test";
text = text + "1";
System.out.println(text);
输出也是"test1"
对于此代码:
String text = "test";
text += "1";
System.out.println(text);
输出也是"test1"
但是这段代码:
String text = "test";
text = "1" + test;
System.out.println(text);
将输出"1test"
此外,当您递增一个数字而不是x = x + 1;
时,您可以使用x++;
或++x;
,当您递减一个数字,而不是x = x - 1;
时,您可以使用{ {1}}或x--;
--x;
和x++;
之间的区别在于添加将会发生。 ++x;
表示添加将在当前操作之后发生,而x++
表示添加将在当前操作之前发生。
解释这意味着什么:如果我们有声明++x
,那么System.out.println(x++);
将首先打印然后会增加,而如果我们使用x
System.out.println(++x);
的值将改变,然后将打印。
这意味着对于此代码:
x
输出将是:
1
2
2
2
同样适用于int x = 1;
int y = 1;
System.out.println(x++);
System.out.println(x);
System.out.println(y++);
System.out.println(y);
操作,但不是添加1而是减1。