zoukankan      html  css  js  c++  java
  • java中a++与++a区别

    java中a++与++a区别

    a++与++a的区别,如果单独使用没有任何区别,如果在运算中就有区别了,a++是先运算在赋值,而++a是先赋值在运算!!

    先看a++的代码哦

    class demo1 
    {
        public static void main(String[] args) 
        {
                   int a=20;
            int b=19;
            /*
            先运算在赋值;
            1. b先和a作比较,b比a小为假,所以a还是20;
            2. b在自增加1,所以b为20;
            3. 因为三元判断为假,所以c等于自增后的b加a为40;
    
            */
            int c= b++>=a ? a++:a+b;
            System.out.println(a);//结果是:20
            System.out.println(b);//结果是:20
            System.out.println(c);//结果是:40
        }
    }

    上面的代码中的b就是指a++中的a哦

    b++先运算在赋值;
    1. b先和a作比较,b比a小为假,所以a还是20;
    2. b在自增加1,所以b为20;
    3. 因为三元判断为假,所以c等于自增后的b加a为40;

    下面是++a的代码

    class demo1 
    {
        public static void main(String[] args) 
        {     
                    int A=20;
            int B=19;
            /*
            先赋值在运算;
            1.B先自增为20;
            2.三元运算自增后的B等于A,所以c等于20;
            3.因为三元运算为真,所以A自增1为21;
            */
            int C= ++B>=A ? A++:A+B;
            System.out.println(A);//结果是:21
            System.out.println(B);//结果是:20
            System.out.println(C);//结果是:20
    
        }
    }

    同样的,上面的代码中的B就是指++a中的a哦

    ++B先赋值在运算;
    1.B先自增为20;
    2.三元运算自增后的B等于A,所以c等于20;
    3.因为三元运算为真,所以A自增1为21;

    不喜勿喷,毕竟是初学者哦

  • 相关阅读:
    npmcnpmyarn yarn 关于源和代理的问题
    react : umi 引入 antd 踩坑
    Ant Design Pro 学习笔记:数据流向
    dva + umi 学习笔记
    简单分析 ztree 源码
    X-Tag实战:给博客加一个隐藏侧栏的功能
    javascript中var,let,const的区别
    linq 延迟执行带来的困扰
    如何实现能像windows 窗体一样改变大小的控件 Silverlight
    一个循环递归遍历问题
  • 原文地址:https://www.cnblogs.com/zxdbky/p/6065274.html
Copyright © 2011-2022 走看看