在Java中,当`int x = 0, y = 0, z = 0;`,以下代码执行后,关于变量`a`, `b`, `y`, `z`的值,说法正确的是: `boolean a = x > 0 & y++ > 1; boolean b = x > 0 && z++ > 1;`

答案解析

首先,`x > 0` 为假。 `a = x > 0 & y++ > 1;` 中使用 `&` 运算符,两侧表达式都会计算,因此 y 会自增变为1,但 a 为 false。`b = x > 0 && z++ > 1;` 中使用 `&&` 运算符,短路计算,由于 `x > 0` 为假,右侧表达式不会计算,因此 z 不会自增,仍为0,且 b 为 false。
正确答案:C
随机推荐
开始刷题