postfix运算符如何在这种特殊情况下工作(JAVA)?

时间:2014-05-22 15:58:44

标签: java operators

你可以帮我一点吗?首先,这是代码:

package helloworldapp;

public class HelloWorldApp
{
    public static void main(String[] args)
    {

        int jaja = 1;

        jaja = (jaja++)*2*2;

        System.out.println(jaja);
    }
}

我想理解这一行:

jaja =(jaja ++)* 2 * 2;

据我所知,postfix增量运算符在语句完成后求值为变量。为什么它会给出4个结果呢?也许我不应该以这种方式使用相同的变量,但我很好奇它是如何工作的。我想,首先它将'jaja'乘以2,重复它,声明结束,然后将jaja加1。这将是5但我误解了一些东西。

嗯,这是我在这里的第一个评论,而且我的英语也很糟糕。请原谅我:)

1 个答案:

答案 0 :(得分:0)

是的,jaja++会将jaja增加到2,但该表达式的结果仍为1*2*2将产生4 },分配给jaja,覆盖2