java,关系表达式,求运算过程解释。谢谢。

x的初值是1.那么经过((y=1)==0))&&((x=6)==6)),逻辑与运算后,x的值仍然是1.经过((y=1)==1))&&((x=6)==6)),逻辑与运算后,... x的初值是1.那么经过
((y=1)==0))&&((x=6)==6)),逻辑与运算后,x的值仍然是1.
经过
((y=1)==1))&&((x=6)==6)),逻辑与运算后,x的值将变为6.
求解详细运算过程讲解。谢谢。满意回答可加分。
展开
 我来答
邗启3V
2012-07-28 · TA获得超过7270个赞
知道大有可为答主
回答量:1413
采纳率:100%
帮助的人:1384万
展开全部
因为&&是短路运算符“与”
((y=1)==0))&&((x=6)==6)), 当前面的表达式:((y=1)==0)) 为false的时候 ,后面的表达式((x=6)==6)), 不会再执行了(因为“与”运算只要一个为false,就整个都false)
而:((y=1)==1))&&((x=6)==6)), 前面的表达式是true,那么还要判断后面的表达式的boolean值才能得到整个表达式的值,所以会执行((x=6)==6)),
希望对你有帮助

如果不清楚短路运算符,那你就把&& 换成& 去执行看看;(&是非短路”与“)
追问
一针见血,大神!
还有两个小问题。劳烦您看下:
1,((y=1)==0))类似这条表达式中的括号,为什么是不配对的呢?
2,您答案最后说的&&和单个的&区别在哪,能简要说下吗?
cuijiwei1989
2012-07-28
知道答主
回答量:19
采纳率:0%
帮助的人:15.6万
展开全部
public class Test
{
public static void main(String[] args)
{
int x = 1;
int y;
//前置条件为假,&&与符号后面部分跳过!
if(((y=0)==1)&&((x=6)==6))
{
System.out.println(x);
}
System.out.println("((y=0)==1)&&((x=6)==6)‘x:"+x);
//前置条件为真,需要判断&&与符号后面的表达式真假!
if(((x=6)==6)&&((y=0)==1))
{
System.out.println(x);
}
System.out.println("((x=6)==6)&&((y=0)==1)’x:"+x);

//同理
//前置条件为真,与符号后面的表达式需要还进行判断!
if(((y=1)==1)&&((x=6)==6))
{
System.out.println("((y=1)==1)&&((x=6)==6)‘x:"+x);
}
System.out.println("((y=1)==1)&&((x=6)==6)‘x:"+x);

}

}
结果:
((y=0)==1)&&((x=6)==6)‘x:1
((x=6)==6)&&((y=0)==1)’x:6
((y=1)==1)&&((x=6)==6)‘x:6
((y=1)==1)&&((x=6)==6)‘x:6

解释:
其实就是一个&&运算符的运行机制:“前真,需后寻”“前假后不看”;
(((y=0)==1)&&((x=6)==6))前一个表达式给y赋值0,判断其等于1,为假;所以后面表达式不用进行运算,故x的值,还是1;
其实只需要把&&两边的表达式颠倒下顺序x的值就会变成6!,因为前一个表达式是真,还需要执行后一个表达式进行总的判断;
你给出的第二个表达式前真需要后面表达式进行判断啊,自然对x进行了赋值操作。
其他的表达式类似
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
smkfifkfv0305
2012-07-28 · 超过17用户采纳过TA的回答
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:52万
展开全部
将1赋值给y,y不等于0,然后执行下一条语句。&&前的表达式不成立直接执行下一条语句,不判断后面的表达式,所以,x=6并未执行,x还是等于1。一个=是赋值,两个==是判断==两边的表达式是否相等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
minxiao1215
2012-07-28 · TA获得超过694个赞
知道小有建树答主
回答量:1641
采纳率:100%
帮助的人:741万
展开全部
这不是逻辑运算吗?第一个返回FLASE,第二个返回TRUE
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
egghead008
2012-07-28 · TA获得超过1164个赞
知道小有建树答主
回答量:1424
采纳率:100%
帮助的人:1386万
展开全部
自己将其转换为二进制,然后根据运算含义即可找到答案!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式