我正在上 edx 的 Java 课程。对于这个问题,条件是 x++==4。我尝试发现只有当我输入 x 值 4 时,条件才会评估为真。但为什么?
1)为什么当我输入 x = 3 或 x = 2 时,条件评估为假?
2)为什么 x++==4 甚至是一个条件?这就像 x = x + 4。它怎么可能是真或假?它是一个方程,不像 x > 3 等。
我正在上 edx 的 Java 课程。对于这个问题,条件是 x++==4。我尝试发现只有当我输入 x 值 4 时,条件才会评估为真。但为什么?
1)为什么当我输入 x = 3 或 x = 2 时,条件评估为假?
2)为什么 x++==4 甚至是一个条件?这就像 x = x + 4。它怎么可能是真或假?它是一个方程,不像 x > 3 等。
if (x++==4) { ... }
可以简单地用以下几行替换
boolean b = (x == 4);
x = x + 1;
if (b) { ... }
您评估是否x
等于4
,然后使用后缀增量运算符 ++将其递增
为什么当我输入 x = 3 或 x = 2 时,条件评估为假?
因为
3 == 4; // false
2 == 4; // false
这是因为x==4
是一个条件?因此 x++ 只是值的增量,如果变量
不要让 ++ 欺骗你的大脑......
即使在最丑陋的方式上也会发生同样的情况
if (x---5==0) {
恰好是
if ((x--)-5==0) {