网上看到好多人问i++与++i到底怎么理解,网友给出的答案几乎都是一样的。如下:

    i++:先进行计算,然后i自增1

    ++i:i自增1,然后进行计算

  并且课本上给出的解释跟这个也差不多,不过这样记起来既麻烦又容易忘记。那么有没有一种简单的理解技巧呢?答案当然是有了!

  可以这样去理解:如果代码里有这样的计算,计算时是跟表达式(例如:i++或++i)进行计算的,与i的值无关,然后呢:

    i++就可以理解为先将i的值赋值给表达式,然后i自增1

    ++i就可以理解为i的值先自增1,然后将i的值赋值给表达式

  这样就可以非常清晰的看到i++和++i在整个计算过程中的详细变化了,方便了理解和记忆,i--和--i类似,就不做解释了。

随机推荐

  1. 省市联动JQ封装比较简洁调用的方法

    前言 因为省市联动的需求在每个项目几乎存在,所以本人也对此在web页面通过封装比较简洁的JQ方法循环判断调用调用后台获取数据再绑定到Select表单上.如果对代码有什么疑问或者更好办法可以在评论区留言 ...

  2. python 技巧 之 pyCharm快速添加第三方库和插件

    学习python有几个月,安装第三方库都是通过 pip install 或者 easy_install.每次都要打开命令行感觉太麻烦.还好Pycharm提供了安装第三方库和安装插件的功能. 首先打开P ...

  3. android设置图片变化的四种效果代码

    activity代码如下: package com.example.chapter12_graphic_animation; import android.os.Bundle; import andr ...

  4. 利用glibc中锁结构的信息解决死锁问题

       首先非常感谢老丁和老李同学的帮助,没有他们这个问题估计又得搞很久.遇见这个问题,真是头疼.不熟悉代码.不熟悉流程,但是领导还是把活给排下来了(实在不解),只能硬着头皮找了. 问题是这样的,cac ...

  5. java读取xml(当xml放在包里时)

  6. struts2注解驱动 零配置

    一.配置web.xml<filter><filter-name>struts2</filter-name><filter-class>org.apach ...

  7. 关于thinkphp中Hook钩子的解析

    在tp框架下的Library/Think 下有一个Hook类,这个是用来以插件形式来实例化类并且执行方法的 static private  $tags       =   array(); 这里有一个 ...

  8. php静态属性和静态方法

    php静态属性和静态方法 2012-09-29 10:18 1518人阅读 评论(0) 收藏 举报 phpfunction 本php教程主要是学习php中静态属性和静态方法的使用方法和基本的示例. · ...

  9. Ubuntu14.0.4 64位安装ADT问题

    将ADT 解压之后,新建Android工程后没有R文件: google之后说要安装 ia32-libs 提示如下: 安装lib32z1 安装完成后,再次新建工程,报错如下: 编译存在问题:则继续安装以 ...

  10. keil在WIN7下的破解

    win7好看的界面和不错的性能,被越来越多的人所接受并使用.对于学电子的人来说,往往要用到专业方面的软件如Keil.下面以Keil C51 V9.00 即最新版本uVision 4在win7下的破解为 ...