黑马程序员技术交流社区
标题:
下面的代码为什么x=7
[打印本页]
作者:
晓聪同学
时间:
2017-2-19 17:08
标题:
下面的代码为什么x=7
int x = 1,y = 1;
if(x++==1 || ++y==1){
x =7;
}
System.out.println("x="+x+",y="+y);
为什么x=7
int x = 1;
int y=1;
if(x++==2 & ++y==2){
x =7;
}
System.out.println("x="+x+",y="+y);
这个为什么x不等于7
作者:
lion86
时间:
2017-2-19 17:17
第一个,有一边为真就执行,X先做比较再自加,所以等于7
作者:
晓聪同学
时间:
2017-2-19 17:29
lion86 发表于 2017-2-19 17:17
第一个,有一边为真就执行,X先做比较再自加,所以等于7
int y=1;
if(x++==2 & ++y==2){
x =7;
}
System.out.println("x="+x+",y="+y); x=2 y=2
这个为什么不是7
作者:
晓聪同学
时间:
2017-2-19 17:30
lion86 发表于 2017-2-19 17:17
第一个,有一边为真就执行,X先做比较再自加,所以等于7
int y=1;
if(x++==2 & ++y==2){
x =7;
}
System.out.println("x="+x+",y="+y); x=2 y=2
这个为什么不是7
作者:
im浩
时间:
2017-2-19 17:42
第二个 因为++在后先计算再++所以为假 不再执行if内的语句
作者:
wqq1317
时间:
2017-2-19 22:29
一,&与&&和|与||的区别
二,x++与++x的区别
这两者都理解了,就明白了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2