zoukankan      html  css  js  c++  java
  • 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。



  • 相关阅读:
    python计算纹理特征
    遥感影像提取农作物种植分布数据之经验总结
    Python实现多线程调用GDAL执行正射校正
    Centos7.3 编译安装GDAL以及Python的GDAL包
    C#通过COM组件调用IDL的pro程序
    IDL实现矢量文件裁剪栅格数据
    HttpClient使用示列(post请求的)
    SpringBoot自带的定时功能
    mysql安装与启用
    dos命令之端口查看
  • 原文地址:https://www.cnblogs.com/dmzna/p/11830630.html
Copyright © 2011-2022 走看看