boolean b = true;
// Compiles OK.
// The LHS "assignment operand" requires no ()parentheses.
if (b=true || b==true);
// Reverse the ||'s operands, and now the code doesn't compile.
if (b==true || b=true);
// Add () around the RHS "assignment operand", and the code now compiles OK.
if (b==true || (b=true));
编辑 -
顺便提一下,代码第二行的编译错误是:"unexpected type",并且出现在短路 OR 运算符所在的位置:
if (b==true || b=true);
// ^ "unexpected type" compilation error occurs here.
编辑2 -
请注意,本问题中发现的代码片段是“高度人工制造的Java编码”的示例,因此不会出现在专业编写的代码中。
编辑3 -
我是这个非常有用的网站的新手,并且我刚刚学会了如何制作和上传Java编译消息的截图。以下图片复制了我在第一个“编辑”中提供的信息。 它显示了示例代码行#2的编译错误。