黑马程序员技术交流社区

标题: 【自学】关于自增的。找的题目,搞不明白..... [打印本页]

作者: 野出岔子    时间: 2015-11-1 01:05
标题: 【自学】关于自增的。找的题目,搞不明白.....
下面程序执行的结果是?( 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?


作者: xiao_D    时间: 2015-11-1 01:47
++在前面是先加了再运算,你这里是y原来是1 ,所以y先自增到2, 才判断是否等于2,  x的情况是先判断x是否等于2,然后才自增。
作者: xiao_D    时间: 2015-11-1 01:48
这个题还要注意  & 和 && 区别  ,如果换成&& 答案就不同了哦
作者: 大自然的搬运工    时间: 2015-11-1 02:02
自学的楼主 加油吧




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