Java学习10之代码分析自增自减运算
package test06;
public class TestCast { public static void main(String[] args) { int i=10; i=i++; System.out.println(i); } }
分析如上代码,最后输出的i结果是多少呢
运行可以发现结果是10
package test06; public class TestCast { public static void main(String[] args) { int i=10; i=++i; System.out.println(i); } }
但是如果是这样写的话,运行结果就是11
这就是两个不同的写法在Java语言中的区别
可以这样理解,在i=i++中,i在加号前面,所以不运算直接输出
在i=++i中,加号在前面,所以发生了运算,输出结果就是经过运算后的11
package test06; public class TestCast { public static void main(String[] args) { int x=10; int a=x + x++; System.out.println("a="+ a);//这里经过运算,x和x++结果都是10,所以a=20。而x++这一步已经执行结束了,所以下面用到x时,x=11,下面依次类推 System.out.println("x="+ x); int b=x + ++x; System.out.println("b="+ b); System.out.println("x="+ x); int c=x + x--; System.out.println("c="+ c); System.out.println("x="+ x); int d=x + --x; System.out.println("d="+ d); System.out.println("x="+ x); } }
可以运行一下这段代码,以及根据运行结果分析一下,帮助更深层次的了解自增自减运算以及程序运行的整体性