Integer.MIN_VALUE 是什么意思?

java 复制代码
int max =Integer.MIN_VALUE;  

这个经常在求最大值时出现

Integer.MIN_VALUE 是 Java 中 int 类型的最小值,等于 -2,147,483,648。

用途:

在找最大值时,初始化为最小值,确保任何有效值都能更新它。

java 复制代码
int max = Integer.MIN_VALUE;  // max = -2,147,483,648

// 这样设计的好处:
max = Math.max(max, 1);      // max 会变成 1
max = Math.max(max, -1000);  // max 会变成 1(因为 1 > -1000)
max = Math.max(max, 100);    // max 会变成 100

为什么不用 0?

如果数组全是负数,用 0 初始化会导致结果错误:

java 复制代码
int[] nums = {-5, -3, -1};
int max = 0;  // ❌ 错误!0 比所有负数都大

// 正确做法:
int max = Integer.MIN_VALUE;  // ✅ 任何数都比它大
for (int num : nums) {
    max = Math.max(max, num);  // max 会正确更新为 -1
}

对应的:

  • Integer.MAX_VALUE = 2,147,483,647(int 的最大值)
  • 找最小值时,通常初始化为 Integer.MAX_VALUE

    java 复制代码
    int min = Integer.MAX_VALUE;  // 找最小值时用这个
相关推荐
君义_noip2 小时前
信息学奥赛一本通 1661:有趣的数列 | 洛谷 P3200 [HNOI2009] 有趣的数列
c++·算法·组合数学·信息学奥赛·csp-s
leaves falling2 小时前
C语言内存函数-
c语言·开发语言
程序员:钧念2 小时前
深度学习与强化学习的区别
人工智能·python·深度学习·算法·transformer·rag
英英_3 小时前
MATLAB数值计算基础教程
数据结构·算法·matlab
一起养小猫4 小时前
LeetCode100天Day14-轮转数组与买卖股票最佳时机
算法·leetcode·职场和发展
至为芯4 小时前
IP6537至为芯支持双C口快充输出的45W降压SOC芯片
c语言·开发语言
hele_two4 小时前
快速幂算法
c++·python·算法
kk哥88994 小时前
如何快速掌握JavaSE的核心语法?
java
我是一只小青蛙8884 小时前
AVL树:平衡二叉搜索树原理与C++实战
java·jvm·面试
小羊羊Python4 小时前
SoundMaze v1.0.1正式发布!
开发语言·c++