Java:自增(++)与自减(--),偷懒一行代码带来的痛苦

前言

Java继承自C++,因而将很多C++中存在的运算符直接照搬过来了。自增(++)与自减(–)就是其中之一。本篇尝试探讨这两个运算符衍生出的负面问题,以及它们是否有存在的必要。

自增与自减

定义

顾名思义,自增就是自己给自己加1,自减则是自己给自己减1.所以

i++

等价于

i = i +1

前置与后置

前置

a = ++i;

后置

a = i++

两者区别是,前置先运算后取值,后置先取值后运算。也就是说:

a = ++i;

等价于

i = i +1;
a = i;

a = i++

等价于

a = i;
i = i +1

这样看来,一个运算符减少了一行代码,真是提升了编码效率。可是,我们付出了什么代价?

偷懒一行代码带来的痛苦

考虑下面一段代码的输出:

扫描二维码关注公众号,回复: 9595456 查看本文章
int i = 0printf(%d, %d”,++i,i++);

稍谨慎的开发者通常需要犹豫。这涉及到函数参数的求值顺序。在有的编译系统中是从左到右求值,所以输出是1,1;在有的编译系统是从右到左求值,所以输出是2,0.

一段代码如果别人很难看懂,通常不是因为这段代码很高明,而是代码质量很低劣。

从这个角度说,自增自减运算符虽然使代码看上去简洁,却增加了产生低劣代码的可能。仅仅为了少写一行代码,这样做值得吗?

本文为原创文章。看完请点赞,每天进步一点点~

发布了24 篇原创文章 · 获赞 9 · 访问量 5009

猜你喜欢

转载自blog.csdn.net/GentelmanTsao/article/details/104473326