首页 > Java > java教程 > Java 前缀与后缀递增/递减:为什么此示例中的'i”结果为 7?

Java 前缀与后缀递增/递减:为什么此示例中的'i”结果为 7?

Patricia Arquette
发布: 2024-12-17 02:41:24
原创
280 人浏览过

Java Prefix vs. Postfix Increment/Decrement: Why Does `i  ` Result in 7 in This Example?

Java 中的前缀和后缀自增/自减运算符

理解前缀和后缀自增/自减运算符之间的区别在 Java 编程中至关重要。本文通过一个实际示例探讨了这些运算符的效果。

问题:

考虑以下代码片段:

int i = 3;
i++; // Postfix increment

System.out.println(i);    // Prints "4"

++i; // Prefix increment
System.out.println(i);    // Prints "5"
System.out.println(++i);  // Prints "6"
System.out.println(i++);  // Prints "6"
System.out.println(i);    // Prints "7"
登录后复制

为什么最后一次调用 System.out.println(i) 打印值7?

答案:

此代码的行为由前缀和后缀增量运算符的语义控制:

  • 前缀增量 ( ):在操作数用于操作数之前递增操作数表达式。
  • 后缀增量 ( ):在表达式中使用操作数后递增操作数。

前缀增量:

int i = 6;
System.out.println(++i); // Prints "6"
登录后复制

i 的计算结果为 7,因为它在使用其值之前递增 i在表达式中。因此它打印“6”并将 i 增加到 7。

Postfix Increment:

int i = 6;
System.out.println(i++); // Prints "6" (i = 7, prints 6)
登录后复制

i 计算结果为 6,因为它存储了 i 的副本,添加1 到 i,并返回原始值。表达式打印“6”,但 i 现在是 7。

在最后一次调用中,System.out.println(i) 打印 i 的当前值,即 7。这是因为后缀增量运算符之前已更新至 7。

以上是Java 前缀与后缀递增/递减:为什么此示例中的'i”结果为 7?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板