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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Yaphets 中级黑马   /  2014-3-6 14:06  /  1170 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

boolean b1=true,b2; 则表达式!b1&&b2||b2的值是多少?

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

5 个回复

倒序浏览
逻辑运算符!,&&, || 都是从左向右结合,优先级顺序是:!最高,&&次之,||最低,&&是短路运算
所以如果b2=false, !b1&&b2||b2结果是false,如果b2=ture,结果是true.

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
boolean 默认初始值是false所以 b2 的值是false      所以按照顺序执行后  结果应该是false

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
按照优先级的关系,答案是true
回复 使用道具 举报
b2没初始化是不行的
回复 使用道具 举报
boolean类型默认初始值为false,则b1为true,b2为false。运算符优先级:!>&&>||,则!true&&false||flase。&&运算符只要左边的条件为false,必然为false,不需要判断右边的条件。而||运算符只要有一个条件为true,结果才为true。false||false,所以答案为false。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

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