考虑如下Java代码片段:`int i = 5; boolean b = (i-- > 5) ^ (++i < 5);`,执行后,变量 `i` 和 `b` 的值是什么?
答案解析
这段代码使用了异或运算符 `^`。首先,`i-- > 5` 使用的是后自减,先进行比较,`5 > 5` 为 false,然后 `i` 变为 4。接着,`++i < 5` 使用的是前自增,`i` 先变为 5,然后判断 `5 < 5` 为 false。最后,`false ^ false` 的结果为 false。因此,i=5, b=false。选项B错误,因为b为false;选项C错误,i最终值为5;选项D错误,i最终值为5且b最终为false。
正确答案:A