Java中i++、i- -、++i、- -i,这些到底该怎么运算?

在Java的算数运算符中,存在一种自加自减类型的运算符,没错,就是让初学者不断绕圈子的++和--

自加

什么是自加呢?就是我们上面所说的++了
先看下面这段代码:

public class JanYork {
    public static void main(String[] args) {
        int x = 1;
        x++;
        System.out.println(x);
    }
}

这段代码中,x赋值为1,在通过++的运算后,x就会输出为2

自减

什么是自减呢?++就是+1那--自然就是-1了

public class JanYork {
    public static void main(String[] args) {
        int x = 1;
        x--;
        System.out.println(x);
    }
}

那么这里面的x也就会输出0了

--i与++i

不要因为++--就这么简单了!有时候,你有没有见过这样的语句呢?

 public class JanYork {
        public static void main(String[] args) {
            int x = 1;
            int y = x++;
            System.out.println(y);
        }
    }

你可能会觉得,这不和上面一样吗?
那输出为多少?2?
不,y会输出为1,为什么呢?我们看看第三行代码:
int y = x++;
这个++是在x的后面,那么根据运算顺序,就得先赋值给y再自加
所以y会为1!

重点:如果这里x++改为++x,那么就是先自加后再赋值,这个时候y的值就为2了!

--呢?当然是与上面的++同理了啦!

我们来看看这道题啊!

public class Cs {
    public static void main(String[] args) {
        int x = 0;
        x--;
        int y = x++ + ++x;
        System.out.println(x + y + ++x);
    }
}

大家算一下,这段代码输出值为多少?

如果你算出来是3,那恭喜你,对了!
如果你算出来是2或者其他,那就听我分析分析

这题我们先看第一句:x=0
然后看看第二句代码:x--,这里是单行运算,不需要注意是前面加还是后面加,所以x--后x=-1
再来看第三句代码:先看X++,++是不是在后面,所以我们x++后,x仍然不变,=-1

但是,注意了,后面的运算,还有一个++x,而先前的x++中,++会在后面的运算中加入运算,所以相当于是y=-1+ ++ ++x,那后面的++x就是+1+1+(-1),算出来就是这样,y=-1+1=0,所以y=0,而x现在的值是1,代入下面的语句,就是1+0+2,所以答案为3

这题摸索清楚了后,++和--就没什么问题了,下次更新下一章内容吧!

Guess you like

Origin blog.csdn.net/qq_60750453/article/details/120229407
I
"I"
I: