Java中的加法运算符,++i和i++的区别

前言

    作为需求量名列前茅的一门编程语言,相信有许多人在学习过程中肯定会遇见很多疑问,当然加法运算符肯定也有很多人有很多疑惑吧,那么,今天我们就来看看Java中的加法运算符吧。

一、什么是运算符?

    相信很多小伙伴看到这个问题的时候,第一时间想到的就是加减乘除吧,当然数学中还有许多运算符,这里就不再列举。Java的加减乘除虽然除了表示方法和数学中的有略微差异,但是要效果却是一样的。除了基本的运算。Java对加减运算符做了一些优化,目的就是为了简化编程,让程序猿们写代码更方便嘛!

二、加法 

    好了,废话不多说。咱们就直接看个简单的代码吧

        int a = 5;
        int b = 0;
        b = a++;
        System.out.println(b);

很简单的一段代码,该段代码定义了两个变量,目的是为了便于区分。很显然这段代码的输出结果是5,为什么不是6呢?

这是因为 在执行 b = a++ 时,是先把a的值赋给了变量 b  然后才做的加法运算,那如果此时打印 a呢?再原有的代码基础上,加上这条语句

System.out.println(a);

显然,由于 上面做了a++的运算,所以此时的a应该为 6 ,这是因为 a在加法运算之后才有的打印语句。那么再看段代码:

public class Test {
    public static void main(String[] args) {
        int a = 5;
        int b = 0;
        System.out.println(a++);
    }

此时的a++会输出什么呢?

答案是 5 ,为什么呢?和上方一样,此时是先执行的打印语句,打印完a之后,才执行的加法运算,所以此时的输出结果仍然为5

这是 a++ 运算符;

那么如果我们想在打印前做加法运算,我们该做怎么办?老规矩,上代码(此处将主函数省略)!

        int a = 5;
        int b = 0;
        System.out.println(++a);

只需要做简单的修改,把 a++ 改为 ++a即可,此时加法运算是在打印语句执行前执行的。

所以a++和++a的区别就在于一个是先赋值后加,一个是先加后赋值;简单解释下这句话,a++ 和 ++a 单独出现时,效果是一样的,但是如果有其它的语句时,++a 会先让a+1 然后再执行其他语句,而a++则会先执行其他语句,才会让a+1

再来看段代码

        int a = 5;
        int b = 0;
        b = a+1;
        System.out.println(a);

此时a的输出结果为 5,明明让a+1了 为什么a却没变呢?

此时的 a+1 并不是让 a的值加一;可以理解为,此时的加1,只是让5加了1,然后将 5+1 赋值给了b,而a值没变!


总结

减法同上;所以 a++ 和 ++a 以及 a+1 的区别就显而易见了,a++为先赋值后加,++a为先加后赋值,a+1 只是将a的值拷贝了一份,然后将拷贝的那一份加一,原始的a值并未改变。

如有错误,请指出!!!纯手打,看完点个赞呗!

猜你喜欢

转载自blog.csdn.net/weixin_44231805/article/details/108859045
今日推荐