前情回顾
在上一篇文章重温Java基础(四):算术运算符及类型转换中,介绍了介绍Java中的算术运算符的基础知识,及过程中涉及的数值类型之间的类型转换、强制类型转换、二元运算符等内容。
本章重点
本章将介绍Java中的自增和自减运算符。
自增与自减
在程序开发过程中,经常遇到变量加1、减1的操作。同C、C++语言一样,Java同时也提供了自增、自减运算符,x++相当于将x的当前值加1;同理,x--则将x的当前值减1。如:
int x = 20;
x++;
System.out.println(x);
最终结果为21。
由于自增、自减操作都是相对于变量而言的,因此,操作数不能为常量,如20++,则是不对的。
特别的,还有一种形式的自增、自减。上面介绍的自增、自减运算符都是在操作数后面,是后缀的形式。还有一种可以在操作数前面,即前缀的形式。无论哪一种形式,都是讲操作数加1或者减1。但是用在程序中时,意义则完全不同。前缀形式会先完成加1、减1操作,而后再使用变量的值;而后缀形式则会先使用变量原来的值,而后再进行加1、减1操作。如:
int x = 5;
int y = 5;
int m = 2 * x++;
int n = 2 * ++y;
最后,m为10,n为12。x为6,y为6。
最后,建议大家不要在日常开发中使用++,无论是前缀形式的,还是后缀形式的。即使你特别熟练,也不要轻易使用,因为这样写会给人带来困惑,而且会带来恼人的bug。
源码
github
https://github.com/liuminglei/ReviewJavaFoundation/tree/master/05
gitee
https://gitee.com/xbd521/ReviewJavaFoundation/tree/master/05
本文系【银河架构师】原创,如需转载请在文章明显处注明作者及出处。
微信搜索【银河架构师】,发现更多精彩内容。