增量运算符不适用于java中的实例变量

时间:2015-08-03 14:08:42

标签: java increment class-instance-variables

我有以下示例:

Class A{
    private int errorCount = 0;
    private int successCount = 0;
    boolean errorFound = false;

    private void functionName(){
        // Some Statements
        if(errorFound ){
            this.errorCount = this.errorCount++;
        }else{
            this.successCount = this.successCount++;
        }
    }
}

输出始终为0.

为什么增量运算符不适用于实例变量?

2 个答案:

答案 0 :(得分:1)

请记住,增量运算符this.errorCount++;等同于 this.errorCount = this.errorCount + 1;

您的输出为零,因为此操作的结果为0。

答案 1 :(得分:1)

您应该使用variable++而不是variable = variable++。调用post-increment运算符会返回旧值,然后递增,因此在这种情况下,变量始终保持为0。