我有一个全局变量,可以使用三种不同的方法进行修改。它从0开始,一个方法加3,下一个加2,最后一个加1。它们都与自己的按钮相关。

当我单击“加号1”按钮时,计数器保持为0,我需要再次推动使其升至1。有趣的是,如果我从其他两个按钮开始,计数器将相应地起作用,但是如果我单击“加号1”按钮,再次,它需要两次按下,并且行为很奇怪,就像它在按住添加项...

 public void addThreeForTeamB(View view) {
    displayForTeamB(scoreTeamB += 3);
}

public void addTwoForTeamB(View view) {
    displayForTeamB(scoreTeamB += 2);
}

public void addOneForTeamB(View view) {
    displayForTeamB(scoreTeamB ++);
}


这样便是它的管理方式,很酷的事情是,当我将最后一个方法更改为“ scoreTeamB + = 1”时,它会按应有的方式工作,而不会产生冲突。

我的问题是关于这两个运算符之间的差异,以便更好地理解在同一变量上使用这两个运算符时产生细微差异的原因。

最佳答案

scoreTeamB++返回变量的先前值(在变量增加之前)。 +=返回分配给变量的值。

如果将scoreTeamB++替换为++scoreTeamBscoreTeamB +=1,您将获得变量的新值(增量值)。

10-07 21:57