Java-为什么Post Increment不改变值?

时间:2017-04-05 13:29:36

标签: java java-8

我遇到以下代码的问题。以下代码显示意外答案。

class youComponent{
 //...
 officeSelection(event: any, value) {        

    if (event.target.checked === true)
    {
        if(this.officeArray.includes(value.trim())){
           this.officeArray.push(value);
        }
    } 
    else {
        this.officeArray.splice(this.officeArray.indexOf(value), 1);
    }
}

updateOfficeDetail(officeid) {

if(officeid === 1)
{    
         if(this.officeArray.includes('stars dept')){
             this.officeArray.push('stars dept');
         }

}   
else if(officeid === 2)
{            
       if(this.officeArray.includes('moon dept')){
         this.officeArray.push('moon dept');
       }
}
else
{    
     if(this.officeArray.includes('Sun dept')){
         this.officeArray.push('Sun dept');
     }

} 
}

y 的预期值为3,因为它必须先将值分配给 y ,然后增加 y 值。

y 的值是2.这是什么原因?有人可以给我详细的解释吗?

3 个答案:

答案 0 :(得分:0)

这是因为y = y++将值2分配给y,只是之前递增。

答案 1 :(得分:0)

此处y的值已更改,但会在更改为y之前再次分配。 所以不要使用

y = y++

只需使用

y++

它有效。

答案 2 :(得分:-2)

我可以说的一点是后期增量

y = ++y;

在完成任务后完成。如果你想在你使用之前做到这一点

wc_format_decimal( $order->get_total(), 2 );
//or
wc_format_decimal(WC()->cart->total, 2 );

但我想这不是你想知道的。