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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 俏皮雅轩 中级黑马   /  2015-9-15 21:50  /  964 人查看  /  22 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int x = 1,y = 1;

if(x++==2 & ++y==2)
{
        x =7;
}
System.out.println("x="+x+",y="+y);  

运行结果是什么

22 个回复

倒序浏览
X = 2;,y = 2;
回复 使用道具 举报
运行结果是: x=2 ,y=2
     因为++这个运算符变量在左边和右边的优先级不同,x++ == 2 ,它可以看作是x==2 , x=x+1来看这样一来结果是false,而++y==2,可以看作是y=y+1,y==2来看结果当然是true,false&true结果为false,跳过if语句,但是变量x,y是在if语句外显示初始化的,所以x 被重新赋值x = 1+1,同等y也一样,运行结果也就出来了
回复 使用道具 举报
x=2,y=2       加几个字满十几个字符
回复 使用道具 举报
如果没有错的话就是下面这个结果了
x=2,y=2
回复 使用道具 举报
结果为:x=2,y=2

&并且两边都为ture结果为true,括号内&两边都要进行判断,比如:假如x++==2为假时,还得继续判断右边的++y==2
&&并且两边都为ture结果为ture,当&&的左边为假时就不用判断右边的了,直接为假
比如:假设x++==2为假时就不必判断右边的++y==2了

&&、||和&、|的区别:
        1.逻辑&&和||具有短路行为,一旦确定整个表达式的结果,那么将不再执行剩余表达式;

++和--
如果表达式中,只做++或-- 一件事情,那么前++/--和后++/--效果一样的;
        但如果表达式中做多件事情:
                前++/--:先自增/自减,然后再参与表达式的其它运算;
                后++/--:先参与表达式的运算,然后在自增/自减;
比如该题:在 if(x++==2 & ++y==2)中x++=2先是参与了 if 语句的判断再把x赋值为2了
而 ++y==是先将y赋值为2再参与了if 语句的判断
回复 使用道具 举报
王海彬 发表于 2015-9-15 22:19
运行结果是: x=2 ,y=2
     因为++这个运算符变量在左边和右边的优先级不同,x++ == 2 ,它可以看作是x==2 ...

佩服,谢过
回复 使用道具 举报
13160123235 来自手机 中级黑马 2015-9-15 23:03:04
8#
顶大神啊……
回复 使用道具 举报
xiao_D 高级黑马 2015-9-15 23:34:41
9#
{:3_46:}{:3_47:}{:3_55:}
回复 使用道具 举报
自己再多写了几个,也算是对这个算术运算符和逻辑运算符的一个加深了解了。
回复 使用道具 举报
结果是x=2,y=2
回复 使用道具 举报
就是敲!
回复 使用道具 举报
X=2,Y=2     
回复 使用道具 举报
既然这么多大神在我也就默默的看着吧
回复 使用道具 举报
人生苦旅 来自手机 中级黑马 2015-9-16 23:01:54
15#
感觉都是大神啊!加油加油!
回复 使用道具 举报
当语句x++执行完之后,x还会自增1的
回复 使用道具 举报
x=2 ,y=2
回复 使用道具 举报
在哪上基础班啊?我也在上基础班
回复 使用道具 举报
学习了,嘿嘿
回复 使用道具 举报
2,,2.。。。。。。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马