i++是对变量的赋值
i。
就您而言,
zero++等于
zero = zero + 1。因此,这
0++也意味着
0 = 0 + 1没有意义
getInt() =getInt() + 1。
更精确地 :
int oneA = zero++;
手段
int oneA = zero;zero = zero + 1; // OK, oneA == 0, zero == 1
int oneB = 0++;
手段
int oneB = 0;0 = 0 + 1; // wrong, can't assign value to a value.
int oneC = getInt()++;
手段
int oneC = getInt();getInt() = getInt() + 1; // wrong, can't assign value to a method return value.
从更一般的角度来看,变量是 L值 ,表示它是指内存位置,因此可以分配。 L 值中的 L 代表赋值运算符(即)的
左侧
=,即使可以在赋值运算符的左侧或右侧找到L值(
x = y例如)。
相反的是 R值 ( R 代表赋值运算符的 右侧
)。R值只能在赋值语句的右侧使用,以将某物分配给L值。通常,R值是文字(数字,字符串…)和方法。



