黑马程序员技术交流社区

标题: 有个问题 [打印本页]

作者: 李志    时间: 2012-1-29 16:46
标题: 有个问题
大脑短路,为什么第三行的if(result)不写成if(result=ture)呢?

未命名.jpg (44.57 KB, 下载次数: 37)

未命名.jpg

作者: 何圣东    时间: 2012-1-29 20:39
result=ture是赋值表达式,而if的用法是:if(条件){语句},加油!{:soso_e130:}
作者: 李志    时间: 2012-1-29 20:52
何圣东 发表于 2012-1-29 20:39
result=ture是赋值表达式,而if的用法是:if(条件){语句},加油!

喀,介个我是知道,不过写成result我没办法理解记忆。!:L,我得再看看。
作者: 刘少华    时间: 2012-1-29 21:15
if本来就是接受一个布尔值,而result本来就是一个布尔值,你再判断一下不是多此一举吗,还有判断是否相等要用两个等号,一个等号是赋值。
作者: 朱勋    时间: 2012-1-29 22:54
if语句的条件可以个表达式,也可以使一个bool类型的变量,此情况属于第二种
作者: 李志    时间: 2012-1-30 00:19
刘少华 发表于 2012-1-29 21:15
if本来就是接受一个布尔值,而result本来就是一个布尔值,你再判断一下不是多此一举吗,还有判断是否相等要 ...

喀,我不明白,要是返回值为false,那不是result为false,还是会输出“你输入的是闰年。“?(虽然实际上不是这样的。)
作者: Jewel    时间: 2012-1-30 11:40
李志 发表于 2012-1-30 00:19
喀,我不明白,要是返回值为false,那不是result为false,还是会输出“你输入的是闰年。“?(虽然实际上不 ...

不明白你什么意思,它本身就是bool类型,就是ture、false,难道你要写成if(ture==ture)?
作者: 折翼    时间: 2012-2-2 04:23
首先if 本身就是一个判断语句!当你程序执行到对你多输入的值进行判断的时候这一步,leapyear便会返回一个布尔类型的值!result进行接收,因为result 本身就是一个bool类型的值...那么if就会对其进行两个值的判断...要么是true程序第一步,要么是false结果就执行程序报错的那一步咯....
作者: 折翼    时间: 2012-2-2 04:45
我有这么个疑问,同样是第三部的时候,Leapyear无非要么是返回true  要么返回false 也就是result要么是true 要么是false,紧接着对result进行一个判断,即对trur, false进行一个选择!if 是通过什么原理对这两个值进行把关呢??还有对着两个值把关后,又是依据什么将程序引入不同的执行渠道呢???是程序赋予true  false 本身的特性,能够自我识别吗???还是说if遵循  true+true=true  true+false=false   其中true作为默认继续执行程序,而false因为与true 不符,同样被引入其它的执行渠道......到底是什么??请高手指点!!!!





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2