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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

当定义一个三元运算
  1. int x = 3;
  2. x > 4 ; x <6?  x++ : x--
复制代码
我知道左边为假时右边就不运算了,可是以下这个情况该怎样判断 false && true || true  

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 神马都是浮云

查看全部评分

7 个回复

倒序浏览
你可以这样去理解下(false&&true)||true,先对括号内运算就变成了false||true,可以发现运算结果就是true.
回复 使用道具 举报
int x = 3;
x > 4 ; x <6?  x++ : x--
你上面那个分号是什么意思啊
false && true || true  
你用运算符优先级来看
先断定false&&true
再判定上面的值||true
其实你只看||true就知道了
无论什么值和||true在一起都是真
回复 使用道具 举报

恩呢!运算符优先级的问题都不知道啊!
回复 使用道具 举报
false && true || true  
当java虚拟机执行到&&符号是,会将&&后的true||true作为一个整体与false进行运算,语句可以看成
false && (true||true),当条件满足false是,true||true不在执行,如果false不满足,在判断true||true
回复 使用道具 举报
false && true || true  
当java虚拟机执行到&&符号是,会将&&后的true||true作为一个整体与false进行运算,语句可以看成
false && (true||true),当条件为false时,虚拟机直接判定为假,终止语句,true||true不在执行,如果为true,在判断true||true,当语句整体为true时,为真。
回复 使用道具 举报
你说的这种情况java虚拟机会按系统的默认优先级去执行你的语句,false&&true||true在这个语句中&&的优先级会高于||的优先级,相当于(false&&true)||true, false&&true只会去判断一个false不会去判断后一项是否为true
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马