java面试0106-java什么时候会出现i>i+1和i<i-1?

  1. 整数溢出

    int i = Integer.MAX_VALUE; // 2,147,483,647

    System.out.println(i > i + 1); // true

    int i2 = Integer.MIN_VALUE; // -2,147,483,648

    System.out.println(i2 < i2- 1); // true

  2. 浮点数精度问题

    double i = Double.MAX_VALUE; // 1.7976931348623157E308

    System.out.println(i3 > i 3+ 1); // false

    i + 1 的加法由于精度限制不会改变 i 的值(因为 1 相对于 Double.MAX_VALUE 太小)。

    因此,i 和 i + 1 实际上相等,i > i + 1 不成立,但如果涉及其他浮点运算,可能因舍入误差导致意外结果

相关推荐
爱玩泥巴的小t13 分钟前
new Thread().start()底层做了什么?
java
前端拿破轮14 分钟前
从0到1搭建个人网站(三):用 Cloudflare R2 + PicGo 搭建高速图床
前端·后端·面试
码路飞4 小时前
GPT-5.4 Computer Use 实战:3 步让 AI 操控浏览器帮你干活 🖥️
java·javascript
用户3958561421144 小时前
从理论到实践:哪些EMBA项目真正提供“干货”课程?
面试
Wect5 小时前
JSX & ReactElement 核心解析
前端·react.js·面试
祈安_5 小时前
Java实现循环队列、栈实现队列、队列实现栈
java·数据结构·算法
皮皮林55117 小时前
拒绝写重复代码,试试这套开源的 SpringBoot 组件,效率翻倍~
java·spring boot
顺风尿一寸21 小时前
从 Java NIO poll 到 Linux 内核 poll:一次系统调用的完整旅程
java
Lee川21 小时前
JavaScript 面向对象编程全景指南:从原始字面量到原型链的终极进化
javascript·面试
程途知微21 小时前
JVM运行时数据区各区域作用与溢出原理
java