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);
     }
}

可以运行一下这段代码,以及根据运行结果分析一下,帮助更深层次的了解自增自减运算以及程序运行的整体性

 

posted @ 2022-07-25 21:16  热爱代码的某人  阅读(39)  评论(0编辑  收藏  举报