Java常用类核心精讲 · 七篇精华总结

🏠个人主页:黎雁

🎬作者简介:C/C++/JAVA后端开发学习者

❄️个人专栏:C语言数据结构(C语言)EasyXJAVA游戏规划程序人生

✨ 从来绝巘须孤往,万里同尘即玉京

文章目录

Java常用类核心精讲 · 七篇精华总结 ✨

本文是 Java常用类核心详解系列(1~7篇) 超浓缩精华版

涵盖:Math、System、Runtime、Object&Objects、BigInteger、BigDecimal、正则表达式

适合复习、面试、快速查阅、收藏备用!


🔗 七篇完整版文章链接

  1. Java常用类核心详解(一):Math 类全网最细讲解
  2. Java常用类核心详解(二):System 类全网最细讲解
  3. Java常用类核心详解(三):Runtime 类全网最细讲解
  4. Java常用类核心详解(四):Object & Objects 类全网最细讲解
  5. Java常用类核心详解(五):BigInteger 超大整数运算全网最细讲解
  6. Java常用类核心详解(六):BigDecimal 高精度小数运算全网最细讲解
  7. Java常用类核心详解(七):正则表达式 Regex 从入门到实战

📚 知识总览 · 七篇核心定位

  • 第1篇 Math:数学运算、绝对值、取整、随机数、常量
  • 第2篇 System:系统时间、数组拷贝、退出JVM
  • 第3篇 Runtime:JVM运行时、单例、内存/CPU、执行系统命令
  • 第4篇 Object&Objects:顶级父类、toString/equals、克隆、空安全
  • 第5篇 BigInteger:超大整数精确运算
  • 第6篇 BigDecimal:高精度小数、解决0.1+0.2问题、金融计算
  • 第7篇 正则表达式:字符串校验、提取、替换、爬虫/表单必备

1. 第一篇精华:Math 类

核心作用

数学运算工具类,静态方法、无需创建对象

必背API

  • abs() 绝对值
  • ceil() 向上取整 / floor() 向下取整 / round() 四舍五入
  • max() / min() 最大最小
  • random() 随机数 [0,1)
  • pow(a,b) a的b次方
  • 常量:Math.PIMath.E

重点坑点

  • Math.random() 生成 [a,b] 公式:
    (int)(Math.random()*(b-a+1)) + a
  • abs(Integer.MIN_VALUE) 会溢出,结果错误。

2. 第二篇精华:System 类

核心作用

系统级工具类,全静态方法

三大核心方法

  1. System.currentTimeMillis()
    → 获取时间戳,统计程序耗时
  2. System.arraycopy(源数组, 源索引, 目标数组, 目标索引, 长度)
    最高效数组拷贝(native方法)。
  3. System.exit(0)
    → 终止JVM,0=正常退出。

高频场景

  • 算法耗时统计
  • 批量数组拷贝、集合底层扩容

3. 第三篇精华:Runtime 类

核心作用

JVM运行时环境,饿汉式单例

获取方式

java 复制代码
Runtime rt = Runtime.getRuntime();

核心功能

  • availableProcessors():获取CPU核心数
  • maxMemory()totalMemory()freeMemory():JVM内存监控
  • exec("notepad"):执行系统命令、打开软件
  • exit(0):退出JVM(与System.exit等价)

面试点

经典饿汉式单例设计,构造私有、内部创建实例。


4. 第四篇精华:Object & Objects

Object(所有类的父类)

  • toString():默认打印地址,重写后打印属性
  • equals():默认比较地址,重写后比较内容 ,必须同步重写hashCode()
  • clone()对象克隆
    • 浅克隆:拷贝引用地址
    • 深克隆:完全独立对象

Objects(空安全工具类)

  • Objects.equals(a,b)防空指针比较
  • Objects.isNull(obj) / nonNull(obj):判空

面试必问

== 与 equals 区别、浅克隆 vs 深克隆。


5. 第五篇精华:BigInteger 类

作用

超出long范围的超大整数精确运算

创建方式

  • new BigInteger("超长数字")
  • BigInteger.valueOf(100)-16~16有缓存

运算方法

  • add()subtract()multiply()divide()
  • divideAndRemainder():同时返回商和余数
  • equals() 比较值,compareTo() 比较大小

特点

不可变对象,运算后返回新对象。


6. 第六篇精华:BigDecimal 类

作用

解决小数精度丢失 (0.1+0.2≠0.3),金融金额必用

创建(必背)

  • ✅ 推荐:new BigDecimal("0.1")
  • ✅ 推荐:BigDecimal.valueOf(0.1)
  • ❌ 禁止:new BigDecimal(0.1)(精度丢失)

运算

  • 加减乘:直接调用

  • 除法必须指定:精度 + 舍入模式

    java 复制代码
    divide(bd, 2, BigDecimal.ROUND_HALF_UP)

比较

  • compareTo(),不要用 equals()(会比较精度)

舍入模式

  • ROUND_HALF_UP:四舍五入(最常用)

7. 第七篇精华:正则表达式 Regex

作用

字符串校验、提取、替换

核心语法

  • \d 数字、\w 字母数字下划线
  • + 至少1次、* 任意次、? 0/1次
  • {n} 正好n次、{n,m} n~m次
  • () 分组、^ 开头、$ 结尾

Java使用方式

  1. 校验:str.matches(regex)
  2. 提取:Pattern + Matcher
  3. 切割/替换:split()replaceAll()

开发常用正则

  • 手机号:^1[3-9]\\d{9}$
  • 邮箱:通用正则直接复制使用
  • 身份证:^[1-9]\\d{16}(\\d|X|x)$

面试点

贪婪匹配 .* vs 非贪婪 .*?


📌 七篇通用高分规律(面试&写作必看)

  1. 所属包 + 是否需要导包
  2. 是否单例 / 是否静态
  3. 不可变对象 高频出现(BigInteger、BigDecimal、String)
  4. 空指针安全 是高级点(Objects、compareTo)
  5. 底层是native方法 = 效率高(System.arraycopy、Runtime)
  6. 金融/高精度 → 必用BigDecimal
  7. 字符串校验/提取 → 正则

✍️ 写在最后 · 系列总结

这七篇是 Java 基础→中级最实用、面试最高频的常用类合集:

  • 数学/系统:Math、System、Runtime
  • 根基/工具:Object、Objects
  • 高精度:BigInteger、BigDecimal
  • 字符串处理:正则表达式

吃透这七篇,Java 常用类基础直接拉覆盖,后端开发、笔试、面试全覆盖。

相关推荐
Zevalin爱灰灰1 小时前
针对汽车工业软件安全性的C语言编码规范——MISRA C
c语言·开发语言·汽车·嵌入式
JienDa1 小时前
HaiO安装与快速开始
开发语言·php
逆境不可逃1 小时前
【从零入门23种设计模式01】创建型之工厂模式(简单工厂+工厂方法+抽象工厂)
java·spring·设计模式·简单工厂模式·工厂方法模式·抽象工厂模式·工厂模式
lightqjx1 小时前
【C++】C++11 - Lambda表达式+包装器
开发语言·c++·c++11·lambda·包装器
BHXDML2 小时前
操作系统实验:(七)动态分区分配方式的模拟
开发语言·数据库·操作系统
重生之后端学习2 小时前
208. 实现 Trie (前缀树)
java·开发语言·数据结构·算法·职场和发展·深度优先
Sayuanni%32 小时前
初阶_多线程2(线程安全)
java
Howie Zphile2 小时前
# 组织增熵与全面预算管理的持续优化
java·大数据·数据库
清水白石0082 小时前
从频繁“握手”到高效通行:Python 数据库连接池深度解析与调优实战
开发语言·数据库·python