zoukankan      html  css  js  c++  java
  • Java 自增、自减

    i++/i--

      先使用变量的值,然后改变该变量的值;

    ++i/--i

      先改变该变量的值,然后使用变量的值;

    学习Java的时候没有思考过java中变量自增的原理,今天遇到一道java题目,有点懵:
    int
    i = 0; i = i++;

      最终变量i的值到底是变成1呢还是保持为0呢?

      java中变量自增、自减的实现其实使用了一个临时中间变量作为缓存。

    以i++为例:

    1     public static void main(String[] args) {
    2         int i = 0;
    3         int j = i++;
    4     }

    以上代码其实相当于:

        public static void main(String[] args) {
            int i = 0;
            int temp = i;
            i += 1;
            int j = temp;
        }

    所以,i = i++的结果是i的值为保持不变。

    public static void main(String[] args) {
    int i = 0;
    i = i++;
    }

    其实等于
    public static void main(String[] args) {
    int i = 0;
    int temp = i;
    i += 1;
    i = temp;
    }
  • 相关阅读:
    JS 提交表单
    [ZJOI 2010]base 基站选址
    [ZJOI 2013]丽洁体
    [Codeforces 176B]Word Cut
    [SDOI 2013]方程
    [AtCoder agc021D]Reversed LCS
    [BZOJ 4361]isn
    [SDOI 2011]黑白棋
    [ZJOI 2010]Perm 排列计数
    [Codeforces 297E]Mystic Carvings
  • 原文地址:https://www.cnblogs.com/XiaoZhengYu/p/11692110.html
Copyright © 2011-2022 走看看