黑马程序员技术交流社区
标题:
这个题是怎么思考的
[打印本页]
作者:
zhanglaoda1989
时间:
2015-5-19 22:55
标题:
这个题是怎么思考的
int x = 1,y = 1;
if(x++==2 && ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
结果 x=2,y=1
作者:
tanzhixue
时间:
2015-5-19 23:07
x++是先赋值 后++ 所以x++==2是false因为先拿1和2比 比完之后才+1 所以 x的值是2&&前面false右边不执行
作者:
青少年
时间:
2015-5-19 23:17
给int类型X赋值1,Y赋值1,如果X++==2则后边的不运算因为是&&双与前边正确所以后边不运算y值不变。x=7没有参与运算所以最后值是X=2,y=1.,
作者:
Advances
时间:
2015-5-19 23:28
基础知识弄懂了就会分析了
作者:
刘冬
时间:
2015-5-20 10:40
++在后面时先赋值才运算,而且&&具有短路的功能,后面的不进行运算
作者:
新缘
时间:
2015-5-20 11:35
++和--的用法
a:他们的作用是自增或者自减
b:使用
**单独使用
放在操作数据的前面和后面效果一样。
a++或者++a效果一样。
**参与操作使用
放在操作数的前面:先自增或者自减,再参与操作
int a = 10;
int b = ++a;
放在操作数的后面:先参与操作,再自增或者自减
int a = 10;
int b = a++;
作者:
hzhzhen
时间:
2015-5-20 12:25
这个不难吧,你跟着思路去想就可以啦
作者:
hellotaomi
时间:
2015-5-20 16:55
一楼就是正解了,所以就不多啰嗦了
作者:
iamnoten
时间:
2015-5-20 17:08
太绕了,没必要纠结这种题
作者:
繁复
时间:
2015-5-20 17:12
这个就是运算符的优先级问题,X++的运算优先级比==低,所以x++==2这个条件不成立,在比较过后才会给x赋值,而&&的特性就是后面的运算不赋值
作者:
lizhi
时间:
2015-5-20 17:27
双与如果符号左边是false,右边就不再执行了,所以x自加了,y没执行到
作者:
嘎嘎鸭子
时间:
2015-5-20 23:26
放在操作数的后面:先参与操作,再自增或者自减
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2