• i++和++i的区别


    在编程时,经会使用到变量的自增和自减操作,尤其在循环中用的最多。以自增为例,有两种自增方式,前置和后置,即i++和++i,他们的不同点在于i++是程序执行完毕后进行自增,++i程序开始时自增,实例如下:

    package mianshi;
    ​
    public class zizengtest {
        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);
        }
    }

    运行结果:

    3 i=3 8 i=5

    很多人可能以为自己i++和++i概念了解的很明白,但是其实这东西没你想象的那么简单,比如以上的运行结果就会让你很迷惑,假如你质疑这个运行结果的话大可自己一试。

    接下来我解释一下这几个操作:

    i+++i++,这个首先是i++操作,此时注意i++的概念是程序执行完毕后进行自增,所以运算的值还是1,(你可以理解为i++就是一个指令让下一个i的为2,所以还是1)但是自增操作还是有的所以此时i为2,然后再加一个i++,还是程序执行完毕后进行自增所以运算的值为2,所以i+++i++就是1+2=3,在自增操作后i为3。

    i++ + ++i,首先i++操作,此时运算值为3,但是自增操作还是有的所以此时i为4,接下来执行++i,++i直接执行所以值为5,i++ + ++i=8,i的值为5。

    总结:你可以把i++当做一个指令让下一次i的值加1,而本身运算值不变

    ++i,直接执行i+1。



  • 相关阅读:
    JVM-Java程序性能监控-初级篇
    一段获取app性能指标的py脚本
    一段从TXT导入excel的py脚本
    matplotlib根据Y轴数量伸缩画图的py脚本
    jsonpath读取json数据格式公用方法!!!
    python安装插件包注意事项
    Jenkins持续集成
    Jenkins简介&邮箱配置
    unittest框架扩展(基于代码驱动)自动化-下
    unittest框架扩展(自动生成用例)自动化-上
  • 原文地址:https://www.cnblogs.com/dmzna/p/11830630.html
Copyright © 2020-2023  润新知