-
整数溢出
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
-
浮点数精度问题
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 不成立,但如果涉及其他浮点运算,可能因舍入误差导致意外结果
java面试0106-java什么时候会出现i>i+1和i<i-1?
编程岁月2025-09-28 8:21
相关推荐
AI科技星13 分钟前
数术工坊 · 第四卷 橡皮泥江湖(拓扑学)【完整定稿】张忠琳20 分钟前
【Go 1.26.4】Golang Select 深度解析IT 行者2 小时前
GitHub Spec Kit 实战(五):/speckit.tasks 怎么拆——Spec Kit 五部曲收官AC赳赳老秦2 小时前
OpenClaw+Power Apps 实战:自动生成 Power Apps 应用、连接 Excel 数据源提笔了无痕2 小时前
如何用Go实现整套RAG流程(Charon)2 小时前
【C++ 面试高频基础:指针、引用、const、static、new/delete 总结】Yeats_Liao2 小时前
Feed流系统设计(三):数据模型与存储设计,从表结构到Redis收件箱JiaHao汤2 小时前
分布式事务方案全景:从理论到 Seata 落地2601_961875242 小时前
法考考试时间安排及科目|时间表|资料已整理AI科技星3 小时前
数术工坊第八卷:算力革命