-
整数溢出
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
相关推荐
PPPPPaPeR.9 小时前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)echoVic9 小时前
多模型支持的架构设计:如何集成 10+ AI 模型橙露9 小时前
Java并发编程进阶:线程池原理、参数配置与死锁避免实战froginwe119 小时前
C 标准库 - `<float.h>`echoVic9 小时前
AI Agent 安全权限设计:blade-code 的 5 种权限模式与三级控制PPPPickup9 小时前
easymall---图片上传以及图片展示历程里程碑9 小时前
Linux 库Wpa.wk9 小时前
接口自动化 - 接口鉴权处理常用方法Pluchon9 小时前
硅基计划4.0 简单模拟实现AVL树&红黑树2501_916008899 小时前
深入解析iOS机审4.3原理与混淆实战方法