java关于if判断的诡异问题

if(表达式为假){
语句块1
}
语句块2

运行程序的时候,当表达式为假时,为什么还执行"语句块1"呢,那位又碰到过这种情况的吗?赐教一下!

12个回答

你说的这个问题不会出现的~,要不Java要变天了~。

应该是哪里出现问题了,而还没有被发现,你可以去排查一下。

这样:你将if()语句块内的整个表达式 用一个boolean值接收一下,然后打印输出,看看输出的值到底是true还是false你就明白问题并不是出在这里了。

请问,if条件是假还是真?说糊涂了。。

首先你的条件是“表达式为假”所以必须执行语句块1
反之就不为假而你没有对此进行处理所以程序总在执行第一块

if的条件为“该表达式为假命题”,所以当满足这个条件时,就会运行括号内的,你给定的事实是“该表达式为假命题”,所以恰好满足了if的条件,自然会运行语句块1.

可能是你条件写的有问题

把你的代码弄一段来看看,这样的描述感觉不清晰

有这种情况啊,,比如var flag=false;
if(!flag){
alert("false");
}else{
alert("true");
}

你说的表达式为假是if为假呢,还是它里面的条件为假呢?如果是后者的话当然就是执行代码块1的啊。

表达式为假是条件,当它为true时当然执行啊

你写错了,有错就是你粗不要 找java的错

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问