奇怪的JAVA布尔计算问题
嗨,我有以下代码:
boolean result = someexpression();
if(!result)
{
System.out.println("False...");
}
if (result);
{
System.out.println("True");
}
它同时打印(假和真) 我也试过使用类似的东西
if(result==true)
但这似乎并不奏效。无论变量的值是多少,它都只是进入条件。??我使用的是eclipse,这只发生在特定的部分
# 1 楼答案
删除此行末尾的
;
对于
;
,它的意思是“如果result
是true
,那么什么也不做”。包含下一条语句的块不是if
的一部分,将始终被执行。与此完全相同:# 2 楼答案
在if语句的末尾有一个冒号
这会使代码的计算结果更精确
其中,第二对
{}
表示始终执行的代码块,因为它不再是if控制块的一部分。所以去掉那个分号(我想这不是你想放的)