轻谈 return i++
在写函数的时候,发现了又一个很有意思的事情
先上代码
public class Test{ static int number = 2; public static void main(String args[]){ System.out.printf("%d\n",addTest()); System.out.printf("%d\n",number); } public static int addTest(){ return number++; } }
输出的结果分别是
2
3
这就说明addTest()这个函数返回值是2,而不是3
我想肯定有许多像我这样的初学者对于
return number++;这条语句的执行顺序理解的还不是非常准确。
可能大多数人会理解成
return number;number++;
其实不然
实际上是 中间值=number++;return 中间值
而这个中间值在上述代码中也就是2
总而言之。
以后还是少用这种写法。避免不经意间的错误~
by 一枝猪