前置与后置的递增/递减操作符

++i

步骤1:首先i自增1

步骤2:再用新的值参与其它运算

举个例子

a=2;b=++a;那么结果是什么呢?

注意:我们只关注b=++a这个部分

步骤1:首先a自增1    //a的计算结果:a的值是3

步骤2:再用新的值(a=3)参与其它的运算(b=a,即将a的值赋给b的运算,简称赋值运算)    //b的计算结果:b的值是3

 

--i

步骤1:首先i自减1

步骤2:再用新的值参与其它运算

举个例子

a=2;b=--a;那么结果是什么呢?

注意:我们只关注b=--a这个部分

步骤1:首先a自减1    //a的计算结果:a的值是1

步骤2:再用新的值(a=1)参与其它的运算(b=a,即将a的值赋给b的运算,简称赋值运算)    //b的计算结果:b的值是1

 

i++

步骤1:首先用原来的值参与其它运算

步骤2:再将自己自增1

举个例子

a=2;b=a++;那么结果是什么呢?

步骤1:首先用原来的值(a=2)参与其它运算(b=a,即将a的值赋给b的运算,简称赋值运算)    //b的计算结果是:b的值是2

步骤2:再将自己自增1    //a的计算结果:a的值是3

 

i--

步骤1:首先用原来的值参与其它运算

步骤2:再将自己自减1

举个例子

a=2;b=a--;那么结果是什么呢?

步骤1:首先用原来的值(a=2)参与其它运算(b=a,即将a的值赋给b的运算,简称赋值运算)    //b的计算结果是:b的值是2

步骤2:再将自己自减1    //a的计算结果:a的值是1

 

所以,前置的递增/递减操作符参与计算的步骤是“先喂饱自己”,后置的是“先操心别人”

 

便于记忆,将前置的递增/递减操作符所谓的“先喂饱自己”扩展为“自己吃饱了,别人吃得更饱”,“自己吃不饱,别人跟着饿着”。

后置的递增/递减运算符所谓的“先操心别人”理解为“反正首先别人起码不受罪,既不享福也不吃亏”,“自己爱怎么折腾怎么折腾”。

 

参考书籍

《C语言程序设计(谭浩强)》电子版,P59 自增、自减运算符

《Java就业培训教程(张孝祥)》,2.4 Java中的运算符

《Head First Java中文版》,P115 前置与后置的递增/递减操作符

 

posted on 2014-02-10 16:45  nashviller  阅读(1070)  评论(0编辑  收藏  举报

导航