i++和++i的区别

作者: IOneStar | 来源:发表于2019-01-03 17:27 被阅读0次

文章首次发表在i++和++i的区别](https://github.com/funnycoderstar/blog/issues/62)

++是递增操作符, 使用时可以分为前置型和后置型, ++i是前置型, i++是后置型;
后置型和前置型最大的区别是:

  • 前置操作, 变量的值都是在语句被求值前改变的
  • 后置操作, 是在包含它们的语句被求值之后才执行的

可以看下面几个例子

例1:

var age = 29;
++age; // 30

var num1 = 29;
num1++; // 30

把递增操作符放在变量后面并不会改变语句的结果, 因为递增是这条语句的唯一操作, 但是, 当语句中还包含其他操作时, 上面的区别就会非常明显了;

例2

var num1 = 2;
var num2 = 20;
var num3 = --num1 + num2; // 21
var num4 = num1 + num2; // 21

这里num3值所以等于21, 是因为num1先减了1再与num2相加, 而变量num4也等于21是因为相应的加法操作使用了num1减去1之后的值;

var num1 = 2;
var num2 = 20;
var num3 = num1-- + num2; // 22
var num4 = num1 + num2; // 21

这里仅仅将前置递减改成了后置递减, 就可以看到差别,在前面使用前置递减的例子中, num3和num4都等于21. 而在这个例子中, num3等于22, num4等于21. 差别的根源在于, 这里在计算num3时使用了num1的原始值2完成了加法计算, 而num4则使用了递减后的值

相关文章

  • i++和++i的区别

    i++和++i有哪些区别? i++和++i都是实现变量i的自增,两者的区别在于i++是先运算,再加1,而++i是先...

  • Java中的i++ 和 ++i 在for循环使用

    Java的i++ 和++i 的区别i++:先赋值,后计算;++i;先计算,后赋值。 for循环中的i++和++i...

  • i++和++i的区别

    1.简单的说,++i是先自加再赋值,i++先赋值再自加;

  • i++和++i的区别

    i++ :先引用后增加. ++i :先增加后引用. i++ :先在i所在的表达式中使用i的当前值,后让i加1. +...

  • i++和++i的区别

    1、首先,单独拿出来说++i和i++,意思都是一样的,就是i=i+1。2、如果当做运算符来说,就是a=i++或者a...

  • i++和++i的区别

    i++: int a =6; int a = i++; a is 6, i is 7; 原因是:int a = i...

  • i++和++i的区别

    直接上两个网上很经典的demo 例子1 答案:输出2和1 直接反编译class文件,得到前两行的java指令,分析...

  • i++和++i的区别

    文章首次发表在i++和++i的区别](https://github.com/funnycoderstar/blog...

  • i++ 和 ++i的区别

    1、赋值顺序不同 ++ i 是先加后赋值;i ++ 是先赋值后加;++i和i++都是分两步完成的。 因为++i 是...

  • i++和++i的区别

    答案:“3, 2, 2” i++会先进行运算然后才自增 ,++i会先自增然后加入到运算i--,--i也是一样。

网友评论

    本文标题:i++和++i的区别

    本文链接:https://www.haomeiwen.com/subject/lulqrqtx.html