Kar*_*ret 0 java math increment operators
我有一个全局变量,我用三种不同的方法修改.它从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 ++);
}
Run Code Online (Sandbox Code Playgroud)
所以这就是它的管理方式,很酷的是当我将最后一个方法改为"scoreTeamB + = 1"时,它就像它应该的那样,只是添加而没有冲突.
我的问题是关于这两个运算符之间的区别,以便更好地理解在同一变量上使用这2个运算符时产生的轻微差异背后的原因.
Era*_*ran 10
scoreTeamB++
返回变量的先前值(在变量之前).+=
返回分配给变量的值.
如果你scoreTeamB++
用++scoreTeamB
或替换scoreTeamB +=1
你将得到变量的新(递增)值.