自增自减运算符

i++ 跟++i 的区别

int i = 20

int i2 = i++

那么也就是说i2 =20,之后在++,也就是i=i+1;所以i=21 ,i2=20

i++:先给i2赋值,之后在自增 。(i2=20,i=21)

public class day01 {
    public static void main(String[] args) {
        int i = 20;
        System.out.println(i);//20
        //i=20没有问题


        int i2 = i++;
        System.out.println(i2);//20
        //i2=i++,i2=20 i=i+1;  要先赋值给i2 然后再++ 也就是+1 得i=21


        System.out.println(i);//21
        System.out.println(i2);//20
    }
}

int a = 20

int b = ++i

++i:先自增,之后在赋值给b。(b=21,a=21)

 		int a =10;
        System.out.println(a);//10
        //a=10是没有问题的

        int b =++a;
        System.out.println(b);//11
        //b=1+a;先a+1也就是说先自增,在给b赋值


        System.out.println(a);//11
        System.out.println(b);//11

i-- 跟--i 的区别

int i = 20

int i2 = i--

那么也就是说i2 =20,之后在++,也就是i=i-1;所以i=19 ,i2=20

i--:先给i2赋值,之后在自增 。(i2=20,i=19)


        int i = 20;
        System.out.println(i);//20
        //i=20,在这里是没有问题的

        int i2 = i--;
        System.out.println(i2);//20
        //i2 在这里是先把i=20,赋值给i2,之后在进行--操作的。   得出i之前等于20,由于先赋值给i2 所以i2就等20.
        //得出i=i-1;得19,所以i=19
        

        System.out.println(i);//19
        System.out.println(i2);//20

int a = 20;

int b =--a;

--a:先自减,之后在赋值给b。(b=19,a=19)

     //--i的逻辑,在这里我把i换成了a,防止记混。

        int a = 20;
        System.out.println(a);//20
        //a=20,在这里是没有问题的

        int b = --a;
        System.out.println(b);//19
        //同++i的道理一样,这边也是先自减,之后在赋值,所以a=a-1得19,之后在赋值给b,b=19
        //此时a是把值赋给的b得19,那么a也是19



        System.out.println(a);//19
        System.out.println(b);//19

总结代码+逻辑

package JiChuLianXi;

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

            //i++ 跟 ++i 的区别

                //i++的思路代码

        /**
         *          int i = 20;
         *         System.out.println(i);//20
         *         //i=20没有问题
         *
         *
         *         int i2 = i++;
         *         System.out.println(i2);//20
         *         //i2=i++,i2=20 i=i+1;  要先i赋值给i2 然后再++ 也就是+1 得i=21
         *
         *
         *         System.out.println(i);//21
         *         System.out.println(i2);//20
         * */

                //++i的思路 在这里我把i换成了a,防止记混。

        /**
         *          int a =10;
         *         System.out.println(a);//10
         *         //a=10是没有问题的
         *
         *         int b =++a;
         *         System.out.println(b);//11
         *         //b=1+a;先a+1也就是说先自增,在给b赋值
         *
         *
         *         System.out.println(a);//11
         *         System.out.println(b);//11
         * */


            //i--跟--i的区别
                //i--的逻辑

        /**
         *   int i = 20;
         *         System.out.println(i);//20
         *         //i=20,在这里是没有问题的
         *
         *         int i2 = i--;
         *         System.out.println(i2);//20
         *         //i2 在这里是先把i=20,赋值给i2,之后在进行--操作的。   得出i之前等于20,由于先赋值给i2 所以i2就等20.
         *         //得出i=i-1;得19,所以i=19
         *
         *
         *         System.out.println(i);//19
         *         System.out.println(i2);//20
         *
         * */




            //--i的逻辑,在这里我把i换成了a,防止记混。

        int a = 20;
        System.out.println(a);//20
        //a=20,在这里是没有问题的

        int b = --a;
        System.out.println(b);//19
        //同++i的道理一样,这边也是先自减,之后在赋值,所以a=a-1得19,之后在赋值给b,b=19
        //此时a是把值赋给的b得19,那么a也是19



        System.out.println(a);//19
        System.out.println(b);//19



    }
}

posted @ 2021-06-08 22:39  IT狗子  阅读(69)  评论(0)    收藏  举报