zoukankan      html  css  js  c++  java
  • 轻谈 return i++

    在写函数的时候,发现了又一个很有意思的事情

    先上代码

    public class Test{
        static int number = 2;
        public static void main(String args[]){
            System.out.printf("%d
    ",addTest());
            System.out.printf("%d
    ",number);
        }
    
        public static int addTest(){
            return number++;
        }
    }
    

     输出的结果分别是

    2

    3

    这就说明addTest()这个函数返回值是2,而不是3

    我想肯定有许多像我这样的初学者对于

    return number++;这条语句的执行顺序理解的还不是非常准确。

    可能大多数人会理解成

    return number;number++;

    其实不然

    实际上是 中间值=number++;return 中间值

    而这个中间值在上述代码中也就是2

    总而言之。

    以后还是少用这种写法。避免不经意间的错误~

    by 一枝猪

  • 相关阅读:
    [HDU3094]A tree game
    专题总结(博弈论)
    [ZJOI2009]染色游戏
    [AtCoder3954]Painting Machines
    异或
    种树
    [PA2014]Fiolki
    简单题
    2、JUC--CAS算法
    1、JUC--volatile 关键字-内存可见性
  • 原文地址:https://www.cnblogs.com/chunzhulovefeiyue/p/6601931.html
Copyright © 2011-2022 走看看