1. toLowerCase() toLowerCase() 使用默认区域设置规则将字符串每字符转为小写等价形式。因区域敏感,德语 ß 或土耳其语 İ 在非适当默认区域下结果会不同。 需特定语言时可调用重载版本: String lower = original.toLowerCase(Locale.forLanguageTag(de)); 要点: 返回新 String;原字符串不变。 无参形式无参数。 适用于大小写不敏感比较及用户输入归一化。 示例 1: public class Guru99 { public static void main(String[] args) { Strin
Java String 类提供三种强大替换方法:replace()、replaceAll()、replaceFirst()。各有专用场景与优化策略。 replace() replaceAll() replaceFirst() Java String replace() replace() 执行直接字符或字符串替换。扫描整个字符串,将目标所有出现替换为替换值,返回新 String 实例。适合非正则的直接替换。 语法 public String replace(CharSequence target, CharSequence replacement) 参数 target —— 要替换的字符
Java String.endsWith() —— 检查字符串后缀 String.endsWith() 判断字符串是否以指定后缀结尾。返回布尔值:true 表示匹配,否则 false。 方法签名 public boolean endsWith(String suffix) 参数 suffix —— 与调用字符串末尾对比的子串。 返回值 true —— 调用字符串以 suffix 结尾。 false —— 不以 suffix 结尾。 异常 suffix 为 null 抛出 NullPointerException。 实战示例 public class EndsWithDemo { publi
Java String.contains() 方法:检查子字符串是否存在 Java 中 String.contains() 方法判断指定字符序列是否出现在字符串中。存在返回 true,否则 false。因返回布尔值,常直接用于 if 语句。 方法签名 public boolean contains(CharSequence s) 参数s —— 要搜索的字符序列。 返回值包含指定序列返回 true,否则 false。 异常参数 s 为 null 抛出 NullPointerException。 实战示例 下面完整示例演示常用模式并突出大小写敏感性。 public class SampleStri
Java 中 compareTo() 是什么? compareTo() 按字典序比较两字符串。每字符转为 Unicode 值比较,返回 int 表示相对顺序。相同返回 0;调用字符串在前返回负值,在后返回正值。 该方法定义在 java.lang.Comparable 接口中。 语法 public int compareTo(String str) 参数:str —— 与调用字符串比较的字符串。返回值:根据字典序返回负、零、正 int 值。 < 0 —— 调用字符串字典序在前。 == 0 —— 两字符串相等。 > 0 —— 参数字符串字典序在前。 示例 1:基本用法 public
Java String.charAt() 方法是什么? String.charAt() 返回字符串指定索引处的字符。Java 字符串索引从 0 开始,范围 0 至 length() - 1。 方法签名 public char charAt(int index) 参数 index —— 指定所需字符位置的单个 int 值。 返回值 返回给定索引处的字符(类型 char)。 异常 若 index 为负或大于等于字符串长度,抛出 StringIndexOutOfBoundsException。 实战示例 public class CharAtExample { public static void
Java 中 indexOf() 方法是什么? indexOf() 方法 用于获取参数指定条件在字符串中首次出现的索引。 常见场景:系统管理员想找到客户邮箱中 `@` 字符的索引,进而提取后缀子串,此时可用 indexOf。 Java String indexOf() 语法 public int indexOf(int cha) indexOf() 参数 char —— 单字符值str —— 要搜索的字符串fromIndex —— 开始搜索的索引位置 返回值 返回指定字符首次出现的索引;若不存在返回 -1。 indexOf 有四个重载,均返回 int 类型索引,参数类型/数量不同。 Index
理解 Java String.length() 方法 length() 方法是 Java String API 核心部分。它返回字符串中 16 位 Unicode 代码单元数量,对大多数文本即等效于字符数。该方法只读,不修改字符串本身。 语法 public int length() 参数: 无 返回值: 字符串中的字符数(Unicode 代码单元数)。 实战示例 下面简单程序演示如何获取两个字符串的长度,输出显示各自数值结果。 public class SampleString { public static void main(String[] args) { // 定义两个 String
什么是字符串? 在 Java 中,String 是不可变的字符序列,本质是表示文本数据的特殊数组。例如单词 ROSE 可视作: 本指南将学习: String 是什么及其重要性。 何时使用。 常见语法模式。 拼接技巧。 核心 Java String 方法。 为什么使用 String? 文本处理是软件开发核心——菜单、对话框、日志、API 全靠它。Java String 类提供可靠、类型安全的文本存储与操作方式,助力开发者构建友好界面、以最小开销完成复杂字符串操作。 String 语法示例 虽可从字符数组创建字符串,但最常用的是字面量: // 使用字符数组 char[] arrSample
什么是 Java ArrayList? ArrayList 是动态数组,随元素增删自动扩缩容。当你需要运行时可变大小的灵活集合时,它是首选。 不同于固定大小数组(如刚性绳索),ArrayList 如可伸缩橡皮筋,无需预定义最大容量即可存入更多元素。 添加元素自动扩容,移除元素自动缩容,保证内存高效使用。 ArrayList 常用方法 add(Object o) —— 尾部追加或指定索引插入。 remove(Object o) —— 删除首次出现的指定元素。 remove(int index) —— 删除指定索引处元素。 size() —— 返回当前元素数量。 contains(Object
什么是对象数组? Java 中 对象数组 是存放类实例引用的集合,而非 int 或 String 等基本值。每个元素存储指向别处创建对象的引用(内存地址)。 语法: ClassName[] arrayName = new ClassName[arrayLength]; 分步示例 下面最小可运行示例演示如何声明、实例化并使用 Account 对象数组。 class ObjectArray { public static void main(String[] args) { // 声明可容纳两个 Account 引用的数组 Account[] accounts = new Account[2];
什么是 Java 数组? 在 Java 中,数组 是固定大小、同类型元素有序序列的内置数据结构。元素索引从 0 开始。数组是对象,继承自 Object 并实现 Serializable 与 Cloneable 接口,可存基本类型值或对象引用。 实践中,数组让你把如下代码: x0=0; x1=1; x2=2; x3=3; x4=4; x5=5; 简化为索引形式: x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5; 本教程涵盖: 数组概念 数组变量与三步创建法 第一个数组程序 数组引用传递 多维数组 有了数组引用即可高效循环: for(count
类与对象构成 Java 面向对象编程的核心。二者虽紧密相关,却扮演截然不同的角色。本指南阐明二者区别,并通过真实案例演示实现方法。 什么是 Java 类? 类 是一组对象共享结构与行为的蓝图。它定义了对象将拥有的数据字段(属性)和方法(函数)。 类语法 class { // 字段 // 方法 } 什么是 Java 对象? 对象 是类的实例。它是具体实体,拥有独立内存位置,持有其类定义的字段值。调用对象方法,即要求该特定实例执行动作。 对象创建语法 ClassName obj = new ClassName(); 类与对象的关键区别 类 —— 抽象定义(蓝图)。 对象 —— 根据蓝图创建的具
什么是 Java 变量? 变量 是程序运行期间存放数据的命名内存区域。每个变量都有 数据类型,规定可存储的值类型及所需内存大小。 Java 变量分三大类: 局部变量 —— 在方法或代码块内声明。 实例变量 —— 在类中但方法外声明;属于各个对象实例。 静态变量 —— 用 static 关键字声明;属于类本身,程序启动时初始化一次。 变量的使用:声明与初始化 使用变量需两步: 声明:指定类型和名称。 初始化:赋予初始值。 变量声明 声明时给出类型和唯一名称。 合法声明示例: int a, b, c; float pi; double d; char a; 变量初始化 初始化给变量赋初值
什么是封装? 封装 是 Java 面向对象三大支柱之一,指将数据 (字段) 与操作数据的方法捆绑在一个类中,并通过访问控制隐藏内部实现细节。核心口诀:高内聚、低耦合、隐藏细节、暴露接口。封装的本质是不变量保护:确保对象始终处于合法状态。 实战案例:银行账户的封装防御 = 0 // 2. 公共构造器:受控初始化 public Account(int accountNumber, int initialBalance) { if (initialBalance < 0) throw new IllegalArgumentException(Initial bal
什么是面向对象中的抽象? 抽象 是 OOP 的核心支柱之一,指提取事物本质特征、忽略非本质细节的过程。在软件设计中,抽象意味着:定义「做什么」(What)而隐藏「怎么做」(How),向使用者暴露简洁、稳定的契约 (接口/抽象类),将复杂实现封装在内部。这带来三大收益: 复杂度隔离:调用者无需了解内部算法、数据结构、外部依赖细节 变化点封装:实现细节变更不影响调用者,符合开闭原则 复用与替换:同一抽象可对应多种实现 (如不同数据库驱动、支付渠道、日志框架) 银行系统建模:抽象的实战演示 假设原始客户数据包含:姓名、地址、身份证、病历、信用分、社交账号、购物记录... 银行系统仅需:姓名、地
什么是面向对象编程 (OOP)? Object-Oriented Programming (OOP) 是一种以对象为核心的程序设计范式,建立在四大支柱之上:抽象、封装、继承、多态。它将现实世界实体建模为对象,对象封装状态 (属性/字段)与行为 (方法),通过消息传递 (方法调用) 协作。目标是构建可复用、可维护、可扩展的软件系统,降低认知复杂度。 Java OOP 九大核心概念与代码实战 1. 类 — 对象的蓝图 类定义了一类对象共享的属性与行为。例如 Car 类: public class Car { // 属性 (状态) private String make;
Java Hello World:零基础编写、编译、运行第一个程序 准备好开启 Java 之旅了吗?本教程手把手带你完成 JDK 安装验证、源码编写、编译执行、常见报错排查,并推荐进阶学习路径。 准备工作 JDK (Java Development Kit):包含编译器 javac、运行时 java、工具链。官网下载 (推荐 LTS 版本 17/21) 或使用 Eclipse Temurin、Azul Zulu 等免费 OpenJDK 发行版。详细安装参考 JDK 安装指南。 文本编辑器:初学推荐 VS Code (安装 Extension Pack for Java) 或 Notepad
前言 Ubuntu 默认预装 OpenJDK,但部分企业应用、商业中间件、旧版构建脚本强制要求 Oracle JDK (含商业特性、字体渲染、加密策略差异)。本指南演示在 Ubuntu 20.04/22.04/24.04 LTS 上彻底卸载 OpenJDK、下载安装 Oracle JDK (tar.gz)、配置系统级环境变量、注册 Alternatives 优先级、验证生效全流程。 步骤 1:彻底清理预装 OpenJDK # 查看已安装 OpenJDK 包 dpkg -l | grep -i openjdk # 完全卸载 (含配置文件) sudo apt-get purge openjdk
Eclipse IDE for Java Developers 安装与入门完整指南 Eclipse 是全球最流行的开源 Java IDE 之一,凭借强大的插件生态、成熟的重构工具、优秀的调试器和免费开源特性,长期占据企业级 Java 开发主流地位。本指南覆盖 Windows 10/11 下载、安装、工作区配置、创建首个 Maven/Gradle 项目、运行 Hello World 全流程。 前置准备 操作系统:Windows 10/11 (64-bit)、macOS 12+、Linux (GTK 3) 已安装 JDK 11/17/21 (LTS 推荐),并配置好 JAVA_HOME 与 P
java