当前位置: 首页 > news >正文

java复习笔记(3)

一、String 字符串核心知识点

String 是Java中最常用的引用类型之一,也是笔试高频考点。

1. 基础特性

- 不可变性:String 对象创建后内容无法修改,所有“修改”操作(拼接、替换)本质上是创建新对象。

- 常量池复用:直接用双引号创建的字符串会存入常量池,减少内存开销。

- 比较方式: == 比较内存地址, equals() 比较内容;空字符串 "" (有效对象,长度为0)与 null (无引用对象,调用方法会报错)有本质区别。

2. 常用API汇总

方法 核心作用

length() 获取字符串长度

charAt(int index) 获取指定索引的字符

contains(String s) 判断是否包含指定内容

indexOf(String s) 查找内容第一次出现的索引(找不到返回-1)

lastIndexOf(String s) 查找内容最后一次出现的索引

substring(int begin, int end) 截取字符串(左闭右开区间)

startsWith()/endsWith() 判断字符串是否以指定内容开头/结尾

split(String regex) 按规则分割字符串,返回数组

replaceAll(String regex, String replacement) 支持正则的批量替换

toUpperCase()/toLowerCase() 大小写转换

trim() 去除首尾空白字符

3. 实战场景

典型应用:从结构化文本中提取数据(如书籍信息中的价格、页码)。通过 indexOf 定位关键词位置,再用 substring 截取目标内容,最后转换为数值类型进行判断与计算。

二、正则表达式与文本处理

正则表达式是处理复杂文本的利器,Java中通过 Pattern 和 Matcher 实现匹配与替换。

1. 核心使用流程

1. 定义正则规则(如IP地址、手机号匹配)

2. 用 Pattern.compile() 编译正则表达式,生成模式对象

3. 创建 Matcher 匹配器,关联目标字符串

4. 通过 find() 查找匹配内容, group() 获取结果, replaceAll() 批量替换

2. 文本分割进阶

- split() :按正则分割字符串,适合简单场景

- StringTokenizer :可指定分隔符,处理结构化文本(如商品信息中提取所有价格并求和)

三、日期时间处理( java.time 包)

Java 8+ 提供的新日期API,解决了旧版 Date / Calendar 的诸多问题。

1. 核心类与常用操作

- LocalDate :表示本地日期(年-月-日),不可变对象

- 日期解析:通过 split() 分割输入字符串,解析为年、月、日后用 LocalDate.of() 创建对象

- 日期比较与计算:- isAfter() / isBefore() :判断日期先后

- ChronoUnit.DAYS.between() :计算两个日期的天数差

- Math.abs() :保证日期差结果为正,避免正负号影响

四、大数运算: BigInteger

当整数超出 long 类型范围时,使用 BigInteger 处理超大整数运算。

1. 基础特性

- 必须通过字符串构造对象,避免数值溢出

- 提供专用运算方法,不依赖基本数据类型运算符

2. 常用运算方法

方法 运算功能

add(BigInteger val) 加法

subtract(BigInteger val) 减法

multiply(BigInteger val) 乘法

divide(BigInteger val) 除法

remainder(BigInteger val) 取余

compareTo(BigInteger val) 比较大小(返回-1/0/1)

3. 实战场景

处理超大整数的四则运算、因数判断等数学问题,适合算法题或需要高精度计算的场景。

http://www.rkmt.cn/news/1429865.html

相关文章:

  • MapLibre GL JS第34课:使用addProtocol转换要素属性
  • GTA5 村长团队Blender Sollumz 人物制作+权重绘制全流程超详细教程
  • OpenAI GPT-5 Agent Mode 正式发布:最长24小时自主任务,AI编程智能体大战升级
  • TrafficMonitor插件完全指南:打造你的个性化桌面监控中心
  • 基于知识图谱与专家系统的散热材料智能推荐技术
  • 智能体协同下的数字孪生IOC:端流融合与场景编排的工程选型逻辑
  • 避坑指南:在LabVIEW 2023中设计波形发生器UI时,如何优雅管理控件状态与数据流?
  • 如何高效解密网易云音乐NCM文件:ncmdumpGUI完整技术解析与实战指南
  • 26年AI漫剧制作厂商排行榜多家深度格局解析 - 速递信息
  • 量子计算中的测量基优化与误差缓解技术
  • Mac重装系统卡在“最后1秒”?别慌,这可能是APFS格式和安装时间预估的锅
  • 新 E 选品牌源头厂家无溶剂 PU 烤火罩耐刮耐磨吗
  • bugkuctf-web-文件上传(kali操作)
  • 实习19-HRM
  • windows 常见的cmd备忘录
  • 从Remy到3D空间影像壁纸,鸿蒙3DGS的差异性体验,凭什么得到消费者的认可?
  • 「斯隆奖」得主戴亮全职加盟复旦
  • 终极键盘连击修复指南:Keyboard Chatter Blocker 专业防抖工具完全教程
  • 【多模态评测】图生文/文生图模型怎么测?多模态评测集 CLIP Score 介绍
  • AI工具学习不是学软件,而是重构工作流:1套可迁移能力框架+5类岗位适配方案
  • Linux权限进阶:从passwd命令到SUID/SGID,搞懂那些‘s’和‘t’到底怎么用
  • 如何告别图片格式烦恼?Save Image as Type让网页图片一键转换
  • 如何快速修改暗黑破坏神2存档:5分钟掌握d2s-editor完整使用指南
  • FanControl深度解析:Windows风扇控制从入门到精通的完整指南
  • Python 潮流周刊#152:编程智能体终于跨过质量门槛了?
  • 网盘直链下载助手:告别限速,解锁九大网盘高速下载方案
  • 为什么你的芯片离不开它?聊聊带隙基准在LDO、ADC里的那些事儿
  • Liquid AI 发布 LFM2.5-8B-A1B:38T 训练的 8B 稀疏 MoE 模型,128K 上下文,笔记本就能跑
  • 闽侯经济纠纷律师评测推荐:从胜诉实绩看服务靠谱度 - 速递信息
  • AI技能化落地:从对话式大模型到可生产、可复用的AI工程体系