-
整数溢出
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
相关推荐
云知谷8 分钟前
【经典书籍】C++ Primer 第16章模板与泛型编程精华讲解独自破碎E17 分钟前
LeetCode 381: O(1) 时间插入、删除和获取随机元素 - 允许重复程语有云19 分钟前
生产事故-Caffeine缓存误用之临下班的救赎workflower32 分钟前
基本作业-管理⾃⼰的源代码froginwe1141 分钟前
Pandas DataFrame:深入理解数据分析的利器Miraitowa_cheems42 分钟前
LeetCode算法日记 - Day 81: 最大子数组和Jm_洋洋44 分钟前
【Linux系统编程】程序替换:execve(execl、execlp、execle、execv、execvp、execvpe)CodeCraft Studio1 小时前
国产化Word处理控件Spire.Doc教程:用Java实现TXT文本与Word互转的完整教程徐子童1 小时前
数据结构---优先级队列(堆)滑水滑成滑头1 小时前
**标题:发散创新:智能交通系统的深度探究与实现**摘要:本文将详细