A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

李志

黑马帝

  • 黑马币:1

  • 帖子:13

  • 精华:0

© 李志 黑马帝   /  2012-1-29 16:46  /  2533 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

大脑短路,为什么第三行的if(result)不写成if(result=ture)呢?

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

未命名.jpg

评分

参与人数 1技术分 +2 收起 理由
官方工作人员 + 2 赞一个!

查看全部评分

8 个回复

倒序浏览
result=ture是赋值表达式,而if的用法是:if(条件){语句},加油!{:soso_e130:}
回复 使用道具 举报
何圣东 发表于 2012-1-29 20:39
result=ture是赋值表达式,而if的用法是:if(条件){语句},加油!

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

喀,我不明白,要是返回值为false,那不是result为false,还是会输出“你输入的是闰年。“?(虽然实际上不是这样的。)
回复 使用道具 举报
Jewel 黑马帝 2012-1-30 11:40:42
7#
李志 发表于 2012-1-30 00:19
喀,我不明白,要是返回值为false,那不是result为false,还是会输出“你输入的是闰年。“?(虽然实际上不 ...

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