黑马程序员技术交流社区

标题: 基础学习中关于逻辑运算符&& || 的问题 [打印本页]

作者: HEIMA时光    时间: 2013-8-13 16:44
标题: 基础学习中关于逻辑运算符&& || 的问题
当定义一个三元运算
  1. int x = 3;
  2. x > 4 ; x <6?  x++ : x--
复制代码
我知道左边为假时右边就不运算了,可是以下这个情况该怎样判断 false && true || true  
作者: 焦允    时间: 2013-8-13 19:01
你可以这样去理解下(false&&true)||true,先对括号内运算就变成了false||true,可以发现运算结果就是true.
作者: EYE_SEE_YOU    时间: 2013-8-14 12:59
int x = 3;
x > 4 ; x <6?  x++ : x--
你上面那个分号是什么意思啊
false && true || true  
你用运算符优先级来看
先断定false&&true
再判定上面的值||true
其实你只看||true就知道了
无论什么值和||true在一起都是真

作者: HEIMA时光    时间: 2013-8-16 07:37
EYE_SEE_YOU 发表于 2013-8-14 12:59
int x = 3;
x > 4 ; x

恩呢!运算符优先级的问题都不知道啊!

作者: 暮雨默    时间: 2013-8-17 22:29
false && true || true  
当java虚拟机执行到&&符号是,会将&&后的true||true作为一个整体与false进行运算,语句可以看成
false && (true||true),当条件满足false是,true||true不在执行,如果false不满足,在判断true||true
作者: 暮雨默    时间: 2013-8-18 21:59
false && true || true  
当java虚拟机执行到&&符号是,会将&&后的true||true作为一个整体与false进行运算,语句可以看成
false && (true||true),当条件为false时,虚拟机直接判定为假,终止语句,true||true不在执行,如果为true,在判断true||true,当语句整体为true时,为真。
作者: ★栤膤嗹☆    时间: 2013-8-19 14:11
你说的这种情况java虚拟机会按系统的默认优先级去执行你的语句,false&&true||true在这个语句中&&的优先级会高于||的优先级,相当于(false&&true)||true, false&&true只会去判断一个false不会去判断后一项是否为true




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2