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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© toShareBeauty 高级黑马   /  2013-7-24 21:36  /  3680 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 toShareBeauty 于 2013-7-24 22:45 编辑

在张老师的视频里面有提到这个,但是没有给答案

boolean b =true;
if(b == true) {
}

//上面的代码,有什么不妥

8 个回复

倒序浏览
在代码的运行上,没什么不妥。只是逻辑上会使人感觉到这种写法比较多余。
if的判断内容相当于true==true  这样永远都是相等的,if判断到是真就可以了,为什么还要多此一举判断一下真是真呢、、、
回复 使用道具 举报
本帖最后由 toShareBeauty 于 2013-7-24 21:42 编辑
王磊 发表于 2013-7-24 21:40
在代码的运行上,没什么不妥。只是逻辑上会使人感觉到这种写法比较多余。
if的判断内容相当于true==true   ...

b 是个变量,它的值是不确定的,在程序运行的时候才知道是 true 或者 false。习惯了 C 的人不容易改过来啊,这都是 C 写很多的人的习惯。
回复 使用道具 举报
toShareBeauty 发表于 2013-7-24 21:41
b 是个变量,它的值是不确定的,在程序运行的时候才知道是 true 或者 false。 ...

你将b的类型定义成了boolean类型,本身就可以被if识别了,为什么还要在去强调一下这个boolean类型到底是不是真呢?

苹果是水果,将这个判断的结果定义成了b,那么b的值就是真,这时让系统去判断,b是不是真,就等于问系统" '苹果是水果'是真的,是真的吗?"

这种判断不就没什么意义了么。。。
回复 使用道具 举报
王磊 发表于 2013-7-24 21:47
你将b的类型定义成了boolean类型,本身就可以被if识别了,为什么还要在去强调一下这个boolean类型到底是 ...

恩,这个说法对,java 和 c 不同,c int 都可以用来做 boolean 判断,有没有其他补充!
回复 使用道具 举报
写法比较多余,不够简洁,if(condition) 本来就是condition为true的时候执行。
回复 使用道具 举报
王磊 高级黑马 2013-7-24 21:57:22
7#
toShareBeauty 发表于 2013-7-24 21:49
恩,这个说法对,java 和 c 不同,c int 都可以用来做 boolean 判断,有没有其他补充! ...

记得C里面没有明确的boolean类型变量,之所以能用int进行判断,是c默认的int类型可以将0作为false,非0作为true。

个人感觉c的这种方法是个双刃剑,有利有弊吧。好处:可能就是用作判断的时候比较灵活。但是弊端个人感觉也是因为它太灵活了,导致有一些判断上要用很多限制代码来维持这种判断的范围性。
回复 使用道具 举报
没什么不妥,能运行出来,感觉有点像c++里面的风格
回复 使用道具 举报
谢谢各位
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马