Java中前后缀“++”运算符的语义[重复]

2023-11-29

我想知道为什么这段代码给出输出112
最后一个数字如何2正在创造?

public static void main(String[] args) {
    int i = 0;
    System.out.print(++i);
    System.out.print(i++);
    System.out.print(i);

为什么会出现这种情况?


您的片段被翻译为

int i = 0;
i = i + 1; // 1
System.out.print(i); // 1
System.out.print(i); // 1
i = i + 1; // 2
System.out.print(i); // 2

这就是为什么最终结果是2。

++i它在被 print 方法调用之前递增变量并且i++它在方法执行后递增变量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中前后缀“++”运算符的语义[重复] 的相关文章

随机推荐

  • 在 TCL 中比较两个列表的正确方法是什么?

    我是 TCL 的新手 我编写了以下代码 set list1 1 2 3 4 set list2 1 2 8 1 if lindex list1 0 lindex list2 0 puts They are equal 但是当我打印子列表元素
  • 无法从另一个类python访问变量

    这是我的代码 应该从 设置 类中打印 self cake 和 self age from startup import Settings class Profile Settings def init self super Profile
  • 警告:赋值使指针来自整数而不进行强制转换

    这是一个很常见的问题 但我还没有得到答案 所以再次询问 我将结构体定义为 struct f lock int x struct f lock next 然后说我有一个功能 struct f lock new node struct f lo
  • docker-compose 中“无法连接到本地 MySQL 服务器”

    我有带有 MySQL 的 Laravel 应用程序 我正在尝试使用 docker compose 在 Docker 中运行它 但是当应用程序尝试连接数据库时 它会抛出 Connector php 第 55 行中的 PDOException
  • 使用 mod_rewrite 重定向和重写

    问完这个问题后 用于搜索查询的干净 URL 我尝试使用 mod rewrite 进行一些操作 RewriteCond QUERY STRING s a z NC RewriteRule s 1 NC R 301 L RewriteRule
  • 使用滑块更新散景图

    我正在尝试使用滑块来更新我的散景图 我发现使用 pandas dataframe 很难实现它 到目前为止没有找到任何例子 另一种方法是使用 columndatasource 在论坛上找到了一些示例 但仍然无法实现该功能 所以我有两列 X 轴
  • 如何正确等待 execve 完成?

    C 源代码 在 Linux Centos 6 3 上编译并运行 包含以下行 execve cmd argv envp execve不返回 但我想修改代码以知道它何时完成 所以我这样做 if child fork waitpid child
  • 使用 pybind11 嵌入 python。虚拟环境不起作用

    我正在尝试制作一个简单的 C 应用程序 它使用以下命令翻译短语googletranspython 库 所以我选择了pybind11为此目的嵌入Python 我还使用 cmake 进行代码配置 当我使用全局 python 安装时 一切正常 但
  • 使用 eigen3/sparse 的稀疏特征值

    是否有一种独特且有效的方法来查找实数 对称 非常大 比如说 10000x10000 的稀疏矩阵的特征值和特征向量Eigen3 有一个用于稠密矩阵的特征值求解器 但它没有利用矩阵的属性 例如这是对称性 此外 我不想将矩阵存储为密集的 或者 替
  • 用 C++ 制作简单的跨平台 GUI 的最佳方法是什么? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想制作一个带有非常简单的 GUI 背景图形 取消按钮和进度条 的桌面应用程序 我的主要目标是 Mac 和 Windows 使用 Visual C 2008 可以吗 任何人都可以
  • 使用 CasperJS 实现页面对象模式

    有没有人已经用 casperjs 实现了著名的 页面对象模式 从长远来看 它对于测试可维护性非常有用 当您必须将测试的机制和目的分开时 使用它非常非常酷 以这种方式编写测试会变得更加愉快 有一些 ruby 和 selenium 的例子 ht
  • 列表理解/生成器中的海象赋值表达式

    我试图传递每个元素foo list变成一个函数expensive call 并获取其输出为的所有项目的列表expensive call是诚实的 我正在尝试用列表理解来做到这一点 这可能吗 就像是 像这样的事情 result list y e
  • 无法在套接字上使用 BufferedReader/Writer 发送和接收数据

    我正在制作一个客户端 服务器应用程序 并使用以下代码在服务器和客户端之间交换数据 服务器的发送和接收代码 public void run try BufferedReader input new BufferedReader new Inp
  • 具有特定值的行名和列名

    我有这个矩阵 我想得到一个 2 列矩阵 其中一列有行名 另一列有值为 1 的单元格的列名 x X1 X2 X3 X1 1 0 1 X2 0 1 0 X3 0 1 1 X4 1 0 0 str x num 1 886 1 886 1 0 1
  • 从“package::function”形式的字符串中获取函数

    有过讨论关于如何从字符串中获取变量 的确 get例如 适用于data table功能 get data table 回报data table 然而 gt get data table data table Error in get data
  • 带有 mongodb 的 yii2 无法登录或注册

    我们按照此 youtube 链接创建 yii2 mongodb 连接 但不起作用 检查此链接 https www youtube com watch v 1msu95ZkRe8 给出一个错误对象配置必须是包含 class 元素的数组 在视频
  • 将 varchar() 中的重音字符转换为 XML 导致“非法 XML 字符”

    我有一个应用程序写入的表 该字段为 varchar max 数据看起来像 xml DECLARE poit VARCHAR 100 SET poit
  • 如何在 Gtk 2 窗口上创建 cairo_t

    我有一个旧的应用程序 现在在 Gtk 2 上编译 但我需要介绍一下 Cairo 的使用 我不知道如何从我的小部件创建必要的 cairo 上下文 cairo t 这是我到目前为止正在尝试学习的代码 是从 Gtk 3 教程中修改的 咳咳 抄袭
  • 滚动到视图与移动到元素

    在 Selenium WebDriver 中 有两种主要方法将一个元素放入可见区域 滚动到视图中 JavascriptExecutor driver executeScript arguments 0 scrollIntoView true
  • Java中前后缀“++”运算符的语义[重复]

    这个问题在这里已经有答案了 我想知道为什么这段代码给出输出112最后一个数字如何2正在创造 public static void main String args int i 0 System out print i System out