黑马程序员技术交流社区
标题:
论x++和++x的区别
[打印本页]
作者:
夜空中的星
时间:
2014-12-20 21:20
标题:
论x++和++x的区别
a++和++a如果在单独使用时,效果是一样的
如果在等式中,例子:s=a++和s=++a是不一样的
int a=1;s=a++ 此时的a是先赋值,再+1;所以此时s=1;a=2
int a=1;s=++a 此时的a是先+1;再赋值,所以此时s=2;a=2
例子:
int x = 1,y = 1;
if(x++==2 & ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
分析:在这道题中,x++==2这个条件是不成立的,此时x的值是先赋值,所以1不等于2,但输出的时候x是+1的。,这道题的结果是 x=2 y=2
int x = 1,y = 1;
if(x++==2 && ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
分析:&&的运算方式是,当第一个条件为false时,就不再判断第二个条件,所以y不会去执行y++==2
所以结果是 x=2 y=1
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
分析:x++==1这个条件是满足的 所以执行x=7;y也执行了y++==1 所以结果是 x=7,y=2
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
分析:||短路与的运算方式是 当第一个条件为true时,就不再执行第二个条件,所以结果为x=7 y=1
作者:
beyondskyqiu
时间:
2014-12-20 21:55
楼主分析的很详细啊。顶起。
作者:
Afridoce
时间:
2014-12-20 22:22
c++ c先被使用再++
++c c先++,c再被使用
哪一个在前面就先用哪一个~
作者:
不一样的颜色2
时间:
2014-12-20 22:33
这可是相当的仔细啊
作者:
reyzarc
时间:
2014-12-20 23:10
恩 分析的很仔细。简单说就是++在前则先自增再操作,如果在后就先操作在自增
作者:
Honelyboy
时间:
2014-12-20 23:16
顶一下,很好的例子。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2