Zah*_*and 1 java intellij-idea simplify
我正在研究一个项目,我正在使用Intellij IDEA.在我写作的时候,我收到了一条通知,说明我的if语句可以简化了.(注意我还是新编码)
它说:
报告if语句可以简化为单个赋值还是返回语句.例如:
if (foo()) {
return true;
} else {
return false;
}
Run Code Online (Sandbox Code Playgroud)
可以简化为
return foo();
Run Code Online (Sandbox Code Playgroud)
这是如何运作的?假设foo()是数字4,这不会只返回4而不是真的吗?我有什么误会?
编辑
这是我写的代码:
if (row > 0 && row < 4 && col > 0 && col < 4) {
return false;
} else {
return true;
}
Run Code Online (Sandbox Code Playgroud)
它可以简化为:
return !(row > 0 && row < 4 && col > 0 && col < 4);
Run Code Online (Sandbox Code Playgroud)
我只是不明白这是如何简化的.
(row > 0 && row < 4 && col > 0 && col < 4) 本身就是一个布尔值(true或false).
我们可以把它分解为boolean && boolean && boolean && boolean作为<和>运算符返回布尔值.同样,布尔值和布尔值是布尔值,因此整个表达式是布尔值,可以这样返回.
您可以这样考虑:
true或false.因此布尔.&&,, ||或者!,你可以问自己:"如果a和b是陈述(真或假),那么"a和b都是真的"是真或假.对于"或",或"a不是真的" "结果是真实的和错误的.现在你可以查看if,并将其读作"如果foo为true,则返回false.否则返回true".这显然简化为"返回foo的反面"或"返回不foo ".
| 归档时间: |
|
| 查看次数: |
2477 次 |
| 最近记录: |