为什么写成if(flag)而不是if(flag=true)。

为什么写成if(flag)而不是if(flag=true)。

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

flag如果是布尔就相当于,取一次其值 if(true)或if(false)这样就符合if表达式要求可以判断了,但if(flag==true)相当于取值后if(true==true)或if(false==true)最终返回的还是if(true)或if(false),而程序因为多执行了一次运算,效率会低于前一种。

  • 摄影祖师爷 提问者 #1
    Boolean flag=sc.method; if(flag){ …… } 以上代码括号里的flag为什么是true,其实就是视频中那段代码,不太理解。
    2018-04-16 23:21:58
  • irista23 回复 提问者 摄影祖师爷 #2
    flag在if里只是说当flag为true时,执行括号里的代码。flag具体是true还是false还要看程序执行结果。
    2018-04-17 10:03:10
  • 摄影祖师爷 提问者 回复 irista23 #3
    也就是说if(flag),默认了括号里的flag为true了?if(flag)和if(flag=true)其实是等价的,只是后者多执行了而已,是这样吗?辛苦了。。
    2018-04-17 11:24:00
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师