码迷,mamicode.com
首页 > 编程语言 > 详细

Java后缀自增/自减表达式的返回值

时间:2020-02-14 11:05:12      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:value   html   spec   express   后缀   返回   循环   表达   ase   

Java后缀自增/自减表达式的返回值

今天看到一段代码,描述循环k次

    while(k-- > 0){
        //...
    }

直觉上认为是错的,k--后值变成了k-1,循环应该只能执行k-1次吧。实际这段代码是正确的。在Java8语言规范15.14.3中有以下描述:

The value of the postfix decrement expression is the value of the variable before the new value is stored.

即后缀自减表达式的值为存储新值之前的值,尽管k--之后的k值变成了k-1,但是表达式k--的返回值还是k,所以以上代码可以循环k次。
上述规则对于后缀自增表达式同样适用。
然后顺手查了下前缀自增/自减表达式的返回值,JLS的描述如下:

The value of the prefix increment expression is the value of the variable after the new value is stored.
The value of the prefix decrement expression is the value of the variable after the new value is stored.

所以上述代码如果改成下面这样,就真的只能循环k-1次了

    while(--k > 0){
        //...
    }

Java后缀自增/自减表达式的返回值

标签:value   html   spec   express   后缀   返回   循环   表达   ase   

原文地址:https://www.cnblogs.com/filozofio/p/12306177.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!