我想知道postfix操作符比赋值操作符更好。换句话说,使用其中一个的优点/局限性是什么。使用修复后操作符优于赋值操作符有哪些优点/限制?
int a = 10;
a++;
//over
int a = 10;
a += 1;
谢谢。
我想知道postfix操作符比赋值操作符更好。换句话说,使用其中一个的优点/局限性是什么。使用修复后操作符优于赋值操作符有哪些优点/限制?
int a = 10;
a++;
//over
int a = 10;
a += 1;
谢谢。
首先,a++
和a--
比a += 1
和a -= 1
更容易编写。
另外,假设您想要执行一个方法,并按1递增a
。 您的方法头:public static void doSomething(int smth)
然后有几件事情可以做:(我们假设这些线路是你的主要方法的一部分,也int a = 10;
您可以使用后缀运算符:
doSomething(a++);
//this will at first execute your method with a and then increment it by one
或者你也可以使用更长的版本
doSomething(a);
a += 1; //possible too, but longer
也有--a
和++a
,它会首先增加一个,然后把它交给一个方法或者做一些其他的事情。
除了明显的后缀++
没有真正的技术限制:它可以只有增加1 ...没有任何其他数字。当然,它使ZERO与性能不同。
这两种形式之间的另一个可能的区别是可读性。在这种情况下,这是一个意见问题......我的观点是他们同样可读。然而,如果你开始在更复杂的表达式中嵌入postfix和前缀递增/递减,那会严重损害你的代码的可读性;例如尝试找出什么a = a++;
做...
a = a ++是我永远不会做的事情。当增量操作符本身执行赋值时,没有指定a = a ++的要点。可能的答案我会与增量运算符分配运算符是减少我的代码@adrian – nam
@nam - 为什么是“减少”你的代码的目标?目标*应*为可读性...由你自己和其他人。 –
@stephan - 设计其实是原因!我正在尝试遵循编码标准。顺便说一下,我指的是你的答案:) [如这里所述](http://stackoverflow.com/questions/10256068/is-there-a-limit-on-the-number-of-lines-你可以放在一个eclipse-java -d?noredirect = 1&lq = 1) – nam
可以下来的选民帮我纠正这个问题吗?我想知道为什么一个比另一个更优先。我的问题是重复的还是应该不被问到的? – nam