黑马程序员技术交流社区

标题: 谁来解答 [打印本页]

作者: 罗伊    时间: 2015-9-16 23:31
标题: 谁来解答
int x = 1,y = 1;

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

运行结果是什么

作者: meihua    时间: 2015-9-17 08:50
x=2 ,y=2?  是不是啊
作者: 安仔    时间: 2015-9-17 08:59
结果是x=2,y=2
作者: liuch111    时间: 2015-9-17 09:06
x=2 ,y=2  tutorialspoint
作者: SuperApollo    时间: 2015-9-17 09:17
x++和++y都是一个整体,不等同于x、y,可以这样理解:a=x++,b=++y;此时a=1,b=2,x=2,y=2。for循环中循环条件不成立,故x=2,y=2.
作者: HiGodl    时间: 2015-9-17 17:44
x = 2,y = 2,因为x++  x先给表达式赋值1再自增,++y是先增再给表达式赋值2,所以if中的条件语句最后为0,x=7不执行,输出x=2,y=2
作者: 赵存金    时间: 2015-9-17 17:49
x=2,y=2  楼上说的很详细了




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