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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

下面程序执行的结果是?( D)
int x =1,y=1;
if(x++==2 & ++y==2){    x=7;
}
System.out.println("x="+x+"  , y="+y);
A.  x=1  y=2
B.  x=7 y=1
C.  x=7 y=2  
D.  x=2 y=2
[size=14.6666669845581px]打印了结果为什么会是(x++==2)是false。而( ++y==2)是true?

3 个回复

倒序浏览
++在前面是先加了再运算,你这里是y原来是1 ,所以y先自增到2, 才判断是否等于2,  x的情况是先判断x是否等于2,然后才自增。
回复 使用道具 举报
这个题还要注意  & 和 && 区别  ,如果换成&& 答案就不同了哦
回复 使用道具 举报
自学的楼主 加油吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马