字符串类型及运算
Java中的字符串(String)是一个不可变的字符序列,是Java中最常用的引用类型之一,用于存储和操作文本数据。
作用
字符串在Java中具有重要作用:
- 存储和操作文本数据
- 处理用户输入和输出
- 实现字符串匹配和搜索
- 进行文本解析和处理
- 构建和格式化消息
详细说明
Java字符串的主要特性:
-
基本特性:
- 不可变性:创建后内容不可改变
- 字符串常量池:共享相同字符串
- 引用类型:存储在堆内存中
-
字符串操作:
- 创建:字面量或构造器
- 连接:+运算符或concat()方法
- 比较:equals()或compareTo()
- 查找:indexOf()或contains()
- 截取:substring()
-
字符串方法:
- 长度:length()
- 转换:toUpperCase()/toLowerCase()
- 替换:replace()/replaceAll()
- 分割:split()
- 格式化:format()
例子
public class StringDemo {
public static void main(String[] args) {
// 字符串创建
String str1 = "Hello";
String str2 = new String("World");
// 字符串连接
String result = str1 + " " + str2;
System.out.println("连接结果: " + result);
// 字符串方法
System.out.println("长度: " + result.length());
System.out.println("大写: " + result.toUpperCase());
System.out.println("小写: " + result.toLowerCase());
System.out.println("包含'World': " + result.contains("World"));
// 字符串分割
String[] words = result.split(" ");
for(String word : words) {
System.out.println("分割单词: " + word);
}
// 字符串比较
String s1 = "Java";
String s2 = "java";
System.out.println("相等比较: " + s1.equals(s2));
System.out.println("忽略大小写比较: " + s1.equalsIgnoreCase(s2));
// 字符串截取
String sub = result.substring(0, 5);
System.out.println("截取结果: " + sub);
// 字符串替换
String replaced = result.replace("World", "Java");
System.out.println("替换结果: " + replaced);
// 字符串格式化
String formatted = String.format("格式化: %s, 数字: %d", "测试", 100);
System.out.println(formatted);
}
}
注意事项
- 字符串比较必须使用equals()方法,不要使用==
- 字符串是不可变的,每次修改都会创建新对象
- 注意字符串的null值处理,例如:
String str = null; if (str != null && str.equals("example")) { System.out.println("字符串匹配"); } else { System.out.println("字符串为null或不匹配"); }