' x = x + 2;'是什么意思?在这段代码中?

时间:2016-10-03 14:14:52

标签: java syntax

我无法解释课程中的一段代码。代码是:

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的特定测试?

2 个答案:

答案 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。