以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  清心茶舍  (http://www.njcie.com/bbs/list.asp?boardid=21)
----  为什么结果是不输出?boolean i=flase  (http://www.njcie.com/bbs/dispbbs.asp?boardid=21&id=334)

--  作者:eva
--  发布时间:2007/3/6 18:43:11
--  为什么结果是不输出?boolean i=flase

老师,今天上课讲的不输出那题还是不懂,能够再解释一遍吗?

boolean i=false;

if (i=false)

system.out.println(i)

为什么结果是不输出。

我的理解是当条件为假时,执行输出i,那结果不是为flase吗?


--  作者:admin
--  发布时间:2007/3/8 17:09:59
--  回复

判断变量和值是否相同,不能使用单个等于号,应该使用双等于号,即: if (i==false) 如果使用单等于号,则表示赋值,即将false赋予i变量,这个赋值操作没有错误,同时赋值完毕,表达式值为赋的值,即false,所以if条件为false,所以没有执行输出语句

不知还有无疑问?


--  作者:eva
--  发布时间:2007/3/8 18:43:18
--  

老师,如果我把题中所有的false都改成true,最后输出结果是不是true?


--  作者:eva
--  发布时间:2007/3/8 19:42:40
--  

public class exec
{
public static void main(String args[])
{
boolean i=false;
if(i=false)
{
System.out.println(i);
}
else

{ System.out.println("123");
}
}
}
老师,为什么这个最后是输出的是123,我对于前面这个问题还是不太理解

[此贴子已经被admin于2010-12-13 19:49:24编辑过]

--  作者:admin
--  发布时间:2007/3/8 19:50:09
--  建议

你觉得呢

建议上机试一试,你的猜测是正确的


--  作者:eva
--  发布时间:2007/3/8 19:56:30
--  

老师,我可不可以这样理解:

因为if里面是条件,只有条件通过才会执行语句块里的内容,if(flase)是没有条件, 语句块里的内容不会被执行,对吗?


--  作者:admin
--  发布时间:2007/3/8 20:13:09
--  即时回复

准确的理解是:

因为if里面的条件为真,只有条件为真才会执行语句块里的内容,if(false)是条件为假,语句块里的内容不会被执行


--  作者:eva
--  发布时间:2007/3/8 20:41:10
--  
谢谢老师,有点理解了。