Java int += double 语法惊喜[重复]

2023-11-22

我遇到了以下令人惊讶的一行:

int x = 7;
x += 0.5;

显然是合法的语法!加法之后,x 仍然是 7,因此 double 被转换为 int 并向下舍入为 0,但这是在代码中没有任何显式转换的情况下完成的。还有人对此感到惊讶吗?这里的理由是什么?

编辑以澄清我的问题:任何人都可以给出这个决定的充分理由吗?在我看来,在其他地方都要求显式转换是一个可怕的决定,但在语言中却有一个地方可以让你默默地丢弃数据。我错过了什么吗?


x += 0.5;

相当于:

x = (int) (x + 0.5)

一般来说:

x += y相当于x = (type of x) (x + y)


See 15.26.2。复合赋值运算符

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

Java int += double 语法惊喜[重复] 的相关文章

  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • 澄清Update() 和FixedUpdate() 的使用? Unity2D [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 所以我知道FixedUpdate应该用于物理操作等 但我很难理解什么算作物理 例如 我通过查看按下的键来移动角色 然后施加力 目前我正
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • Junit:如何测试从属性文件读取属性的方法

    嗨 我有课ReadProperty其中有一个方法ReadPropertyFile返回类型的Myclass从属性文件读取参数值并返回Myclass目的 我需要帮助来测试ReadPropertyFile方法与JUnit 如果可能的话使用模拟文件
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • Spring AspectJ 在双代理接口时失败:无法生成类的 CGLIB 子类

    我正在使用Spring的
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 在 junit 测试中获取 javax.lang.model.element.Element 类

    我想测试我的实用程序类 ElementUtils 但我不知道如何将类作为元素获取 在 AnnotationProcessors 中 我使用以下代码获取元素 Set
  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • “%”(百分比)在 PowerShell 中起什么作用?

    操作似乎在管道之后启动脚本块 尽管about Script Blocks http technet microsoft com en us library hh847893 aspx表示 不是必需的 这些都工作得很好 get childit
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp

随机推荐

  • Laravel 如何制作自定义验证器?

    我需要制作自己的扩展验证器Illuminate Validation Validator 我读过这里的答案中给出的示例 Laravel 4 中的自定义验证 但问题是它没有清楚地展示如何使用自定义验证器 它不会显式调用自定义验证器 您能给我一
  • 如何通过DDP(WebSocket)协议访问meteor.com上托管的应用程序?

    我有一个Meteor app A和另一个应用程序B 不使用 Meteor 而是与应用程序进行一些数据交换A 当我启动时它工作正常A在我的本地网络中的一台计算机上 但是当我将其部署在meteor com 托管上时 它却没有 服务器没有回复 B
  • 如何调用 CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer?

    我正在想办法如何称呼这个AVFoundationSwift 中的函数 我花了很多时间摆弄声明和语法 才走到这一步 编译器大部分都很高兴 但我还有最后一个难题 public func captureOutput captureOutput A
  • 我可以通过placement-new覆盖const对象吗?

    基本生活 8告诉我们 我们可以在一个对象的生命周期结束后 使用它占用的存储空间来创建一个新的对象 并使用它的原始名称来引用它 除非 原始对象的类型不是 const 限定的 并且 如果是类类型 则不包含任何类型为 const 限定的非静态数据
  • 如何将文件写入相机所在的DCIM目录中?

    假设我正在编写一个替代的相机应用程序 并希望将图像写入与相机完全相同的位置 并以与相机完全相同的名称命名它们 我将如何实现这个目标 如何知道相机文件的位置 如何知道当前的命名约定 如何获得该目录的权限 任何答案将不胜感激 好吧 假设它不是真
  • 使用Meson时如何指定库路径?

    我正在尝试使用 Meson 构建一个 C 项目 问题是 我下面有一些库 opt conda但不知道运行时如何链接项目meson build 看来只能通过搜索了 usr lib目录 据我了解 meson uses cmake and pkg
  • 为什么这个 django-rest-swagger API 文档无法正常显示/工作?

    我构建了一个 Django API 当通过 POST 给出电子邮件地址时 它将用一个布尔值进行响应 指示天气或该电子邮件地址是否已存在于我的数据库中 class isEmailTaken views APIView permission c
  • Rails 预加载和 where 子句

    我渴望加载模型对象及其关联 user User includes posts find 1 但在代码中的某些点我想做这样的事情 user posts where topic gt x 但这只是再次重新运行查询 所以我想我会这样做 user
  • MercurialEclipse 插件的官方/活动主页是什么?

    我找不到 MercurialEclipse 插件的官方主页 有吗 而且我有一种奇怪的感觉 实际上有多个同名的项目 以下是我发现的一些项目 http code google com a eclipselabs org p mercuriale
  • Mathjax 无法在基于 Ajax 的网页中工作

    我正在使用 Mathjax 在 PHP Ajax 完成的 Web 应用程序中显示方程 首次加载页面时 方程会正确呈现 在同一页面中 当用户单击按钮时 ajax 代码会从数据库中获取一些数据并将其显示在同一页面上 但是 方程无法正确显示 相反
  • 使用 OpenJDK 12 通过 Mockito 启动 JUnit 时如何摆脱“无法初始化插件:接口 org.mockito.plugins.MockMaker”

    我一直在将一个项目从 Java 8 迁移到 Java 12 除了单元测试之外 一切都很顺利 当我使用 Maven 编译和启动测试时 许多测试失败并显示以下消息 java lang IllegalStateException Could no
  • 从 Inherited 接口调用 Method 时,传递动态参数会引发 RuntimeBinderException

    经过一些重构后遇到了一个有趣的运行时问题 并确定了以下情况 当将属性从动态对象传递到从父接口继承的接口上的方法时 运行时绑定器无法找到该方法 这是一个演示失败和成功的测试 直接在父接口类型上调用方法时 using System Dynami
  • Selenium 2.0 WebDriver 高级交互 DoubleClick 帮助 (c#)

    因此 在我的硒回归测试中 我一直在尝试双击日历来创建新的预约 我尝试使用 doubleClick 高级用户交互库中的方法 但有一个问题 两次单击速度不够快 不够近 无法触发实际的双击 有人在测试中找到解决这个问题的方法吗 这段代码对我有用
  • 即使手机处于睡眠状态也能保持服务运行吗?

    我的应用程序中有一个服务 设计为每 10 分钟运行一次 它主要检查我们的服务器 看看一切是否正常运行 并通知用户任何问题 我创建了这个应用程序供我们公司内部使用 我的同事在长周末使用了该应用程序 并注意到设备进入睡眠状态时没有执行任何检查
  • 获取资源的大小

    我在用着getClass getResourceAsStream path 从捆绑资源中读取 在读取整个流之前如何知道文件大小 我无法访问它们getClass getResource path toURI 当它被打包时 这样就不起作用了 我
  • 如何使用Python在WebDriver中发送多个密钥?

    如何在WebDriver中制作Python代码以按键盘 或按键 上的Command Shift H按钮 Update info Pushing command to appium work queue au mainApp getTreeF
  • 在另一个目录中建立链接时符号链接不起作用?

    哇 我以前从未真正使用过符号链接 但这真的令人难以置信 bash 3 2 echo weird gt original txt bash 3 2 mkdir originals bash 3 2 mv original txt origin
  • HTTP RANGE 标头是否可与 Azure Blob 存储共享访问签名一起使用?

    我使用 Azure Blob 存储来存储媒体文件 并使用共享访问签名提供对这些文件的访问 在这方面一切进展顺利 但是 我有一个客户端应用程序需要 恢复 对这些文件的访问 并使用 HTTP RANGE 标头来执行此操作 当它发出这样的请求时
  • 无法将 WPF ListView 绑定到 ObservableCollection

    我第一次使用 WPF 特别是使用 ListView 我想将其绑定到 ObservableCollection 这是代码隐藏页面上的一个属性 现在我只是想了解一下事情是如何运作的 所以我尝试保持简单 不幸的是 我不太明白我的做法错在哪里 我的
  • Java int += double 语法惊喜[重复]

    这个问题在这里已经有答案了 我遇到了以下令人惊讶的一行 int x 7 x 0 5 显然是合法的语法 加法之后 x 仍然是 7 因此 double 被转换为 int 并向下舍入为 0 但这是在代码中没有任何显式转换的情况下完成的 还有人对此