前置与后置的递增/递减操作符
++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 阅读(1062) 评论(0) 编辑 收藏 举报