java中的自增和自减运算符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zx13525079024/article/details/52947549

 引子

 Java中有自增(++)和自减(--)两种运算符,这两种运算符帮助我们在编写程序的时候简化了代码,提高了速度,方便快捷。自增和自减运算符可以放在变量的前面和变量的后面,如 ++a, a++,放在变量前面和后面的执行结果大相径庭,如果不做深入了解,在使用的过程中可能会出现问题。

示例分析

  自增和自减运算符号放在变量的前面,如 ++a, 表示先执行运算,再生成值, 放在变量的后面,如: a++,先生成值,再执行运算。下面我们看看具体的用法。

  int i=1;
  System.out.println("之前 i:"+i);//之前
  System.out.println("++i :"+ ++i);
 System.out.println("之后 i:"+i);//之后

上面我们定义了一个变量i, 执行++i的时候,是先执行运算,再生成值,所有执行++i的时候的值是2

  System.out.println("i++用法");
        System.out.println("之前  i:"+i);//之前
        System.out.println("i++ :"+ i++);
        System.out.println("之后  i:"+i);//之后

    上面的代码中我们执行i++的时候,先生成值,再执行计算,所以i++ 输出还是执行计算之前的值

全部代码

 public static void main( String[] args )
    {

        int i=1;

        System.out.println("++i用法");
        // ++i之前和之后的值
        System.out.println("之前 i:"+i);//之前
        System.out.println("++i :"+ ++i);
        System.out.println("之后 i:"+i);//之后

        System.out.println("---------------------");

        System.out.println("i++用法");
        System.out.println("之前  i:"+i);//之前
        System.out.println("i++ :"+ i++);
        System.out.println("之后  i:"+i);//之后

        System.out.println("---------------------");


        System.out.println("--i用法");
        // ++i之前和之后的值
        System.out.println("之前 i:"+i);//之前
        System.out.println("--i :"+ --i);
        System.out.println("之后 i:"+i);//之后

        System.out.println("---------------------");

        System.out.println("i--用法");
        System.out.println("之前  i:"+i);//之前
        System.out.println("i-- :"+ i--);
        System.out.println("之后  i:"+i);//之后

        System.out.println("---------------------");


    }


执行结果

++i用法
之前 i:1
++i :2
之后 i:2
---------------------
i++用法
之前  i:2
i++ :2
之后  i:3
---------------------
--i用法
之前 i:3
--i :2
之后 i:2
---------------------
i--用法
之前  i:2
i-- :2
之后  i:1
---------------------


for循环

for循环中经常会用到自增和自减运算符,先看下for循环的执行顺序和流程

for(init;bool;step)
{
  statement
}
init:表示初始化值
bool:表示判断条件
step:表示运算步骤,就是常用的自增和自减运算符
statement:表示执行的内容
先说下for语句中的执行顺序,
init只执行一次,在第一次执行for的时候进行初始化
bool:每次执行前都要进行判断,如果条件不满足,就结束for循环执行, 严格的说,step执行完后,才执行bool判断
step:是递增变量,每次执行完  statement后,才会再执行step; 也就是说statement优先于step执行,这是重点,
看下面的代码我们就明白了for的原理和自增的原理

 for(int j=0;j<5;System.out.println("执行变量前"+j),j++,System.out.println("执行变量后"+j))
        {
            System.out.println(j);
        }


0
执行变量前0
执行变量后1
1
执行变量前1
执行变量后2
2
执行变量前2
执行变量后3
3
执行变量前3
执行变量后4
4
执行变量前4
执行变量后5






猜你喜欢

转载自blog.csdn.net/zx13525079024/article/details/52947549