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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨翔 中级黑马   /  2013-7-2 23:00  /  1536 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨翔 于 2013-7-3 08:52 编辑

当我把一个boolean型的数据,扔进 if()中,然后怎么理解?有些糊涂了 。
比如下面这段吧:
boolean b = false;   
if (b)
   System.out.println("aa");
else
   System.out.println("bb");
不明白为什么会打印出bb 来,是b扔进来,if判断它是不是真? 是这样解释么

评分

参与人数 1黑马币 +1 收起 理由
特殊服务 + 1 这是很基础的问题,看楼主技术分也不低了,.

查看全部评分

4 个回复

倒序浏览
这是很基础的东西,在这里if(b)的意思就是if(!b==false)因为boolean型的默认值就是false。
回复 使用道具 举报
if(条件表达式或者booleanl类型值)   实际上条件表达式最后就是一个boolean值 false或者true. 楼主把if(b)改为if(true)打印出来的就是aa     
b是boolean类型的值。值为false。经过if(b)中的b判断为假,相当于if(false).i大括号中的内容不执行直接跳过。执行下面的语句也就是else。打印出来的自然就是bb。

评分

参与人数 1技术分 +1 收起 理由
特殊服务 + 1

查看全部评分

回复 使用道具 举报
再if(3>2)时,这个时候(3>2)就是在返回一个boolean值,这时b就代表的boolean,if判断是假,就执行否,就返回bb
回复 使用道具 举报
以本题为例:
boolean b = false;   
if (b)
       System.out.println("aa");
else
       System.out.println("bb");


if首先对b的布尔值进行判断,
如果布尔值为ture,则执行if下面的语句,
如果布尔值为false,则执行else内的语句,
因为最初定义b=false;
所以执行else下的语句,
换言之如果开始赋值为b=true;
则会输出aa。
结果如下图所示:


我也是新人,但愿这个回答能帮到你。

评分

参与人数 1技术分 +1 收起 理由
特殊服务 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马