使用post fix运算符而不是赋值运算符有什么优点/局限?

时间:2016-08-05 07:34:31

标签: java assignment-operator

我想知道post post运算符以什么方式比赋值运算符更好。换句话说,使用一个优于另一个的优点/局限是什么。

int a = 10;
a++;

//over 

int a = 10;
a += 1; 

感谢。

2 个答案:

答案 0 :(得分:1)

首先,a++a--a += 1a -= 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,它们首先递增a然后将其移交给方法或使用它做其他事情。

答案 1 :(得分:0)

除了明显的后缀ConnectionConfiguration connectionConfiguration = new ConnectionConfiguration("localhost", 5222); connectionConfiguration.setSecurityMode(ConnectionConfiguration.SecurityMode.required); connectionConfiguration.setSASLAuthenticationEnabled(true); connectionConfiguration.setKeystorePath("src/main/resources/bogus_mina_tls.cert"); connectionConfiguration.setTruststorePath("src/main/resources/bogus_mina_tls.cert"); connectionConfiguration.setTruststorePassword("boguspw"); 之外,没有真正的技术限制:它只能 增加一个...而不是任何其他数字。当然,它会使ZERO与性能不同。

两种形式之间的另一个可能的区别是可读性。在这种情况下,这是一个意见问题......我的意见是他们同样可读。

但是,如果你开始在更复杂的表达式中嵌入postfix和前缀增量/减量,那么这会严重损害代码的可读性;例如试着找出XMPPTCPConnectionConfiguration.builder()做什么......