Day7-24.Auto increment and decrement

来源:互联网 发布:java中九九乘法表算法 编辑:程序博客网 时间:2024/06/05 15:59

自动增递和递减

c类似,java提供了大量的快捷运算。

这些快捷运算使编码更方便,同时也使得代码更容易阅读,但是有时可能使代码阅读起来更困难。

递增和递减运算是两种相当不错的快捷运算(常称为“自动递增”和“自动递减”运算)。其中,递减操作符是”—”,意为“减少一个单位”;递增操作符是“++”,意为“增加一个单位”。举个例子来说,假设a是一个int(整数)值,则表达式++a就等价于(a=a+1)。递增和递减操作符不仅改变变量,并且以变量的值作为生成的结果。

这两个操作符各有两种使用方式,通常称为“前缀式”和“后缀式”。“前缀递增”表示“++”操作符位于变量或表达式的前面;“后缀递增”表示“++”操作符位于变量或表达式的后面。类似的,“前缀递减”和”后缀递减“。对于前缀递增和前缀递减(如++a或—a),会先执行运算,再生成值。而对于后缀递增和后缀递减(如a++或a—),会先生成值。再执行运算,下面是一个例子

//:operators/AutoInc.java//Demonstrates the ++ and — operatorsimport static net.mindview.util.Print.*;public class AutoInc{public static void main(String[] args){int i=1;print(“i :”+i);print(“++i :” + ++i);//Pre-incrementprint(“i++:”+ i++);//Post-incrementprint(“i :”+i);print(“—i :”+ —i);//Pre-decrementprint(“i— :”+ i—);//Post-decrementprint(“i :”+i);}}/*Outputi:1++i:2i++:2i:3—i:2i—:2i:1*///:~


从中可以看到,对于前缀形式,我们在执行完运算后才得到值。

但对于后缀形式,则是在运算执行之前就得到值。

它们是除那些设计赋值的操作符以外,唯一具有”副作用“的操作符。

也就是说,它们会改变操作数,而不仅仅是使用自己的值。

递增操作符正式对C++这个名字的一种解释,暗示”超越C一步“。

在早期的一次关于Java的演讲中,Bill Joy Java创始人之一 声称”Java=C++—“意味着Java已去除了C++中一些很困难而又没必要的东西,成为了一种更精简的语言。

原创粉丝点击