public class Test{ static{ int x=5;//作用域内无引用,函数(方法)执行完直接回收了 } static int x,y; public static void main(String args[]){ System.out.println(x);//0 x--; System.out.println(x);//-1 myMethod( ); System.out.println(x+y+ ++x);//3+4+4=8+3=11 } public static void myMethod( ){ System.out.println(x);//-1 System.out.println(x++);//-1,x++先输出再运算,虽然输出的为-1,但此时x的实际值为0 System.out.println(++x);//1,++x先运算再输出,0+1=1,因此输入1 y=x++ + ++x;//x++执行运算的值是1,但实际此时x为2,++x执行运算的x=2+1=3,y=1+3=4 System.out.println(x);//3,即上一步先执行x++再执行++x后的结果 System.out.println(y);//4 } }
代码可以直接放入到你的工具中执行,如果有地方不理解,可以给我留言