1. 使用 for
循环遍历字符串
for
循环是最常用的遍历字符串的方法之一,可以通过索引访问字符串的每个字符。
public class ForLoopExample {
public static void main(String[] args) {
String str = "Hello, Java!";
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
System.out.println("Character at index " + i + ": " + c);
}
}
}
输出:
Character at index 0: H
Character at index 1: e
Character at index 2: l
Character at index 3: l
Character at index 4: o
Character at index 5: ,
Character at index 6:
Character at index 7: J
Character at index 8: a
Character at index 9: v
Character at index 10: a
Character at index 11: !
2. 使用 for-each
循环遍历字符串
for-each
循环可以用于遍历字符串中的每个字符,但需要先将字符串转换为字符数组。
public class ForEachLoopExample {
public static void main(String[] args) {
String str = "Hello, Java!";
char[] chars = str.toCharArray();
for (char c : chars) {
System.out.println("Character: " + c);
}
}
}
输出:
Character: H
Character: e
Character: l
Character: l
Character: o
Character: ,
Character:
Character: J
Character: a
Character: v
Character: a
Character: !
Character: !
3. 使用 while
循环遍历字符串
while
循环也可以用于遍历字符串,通过索引访问每个字符。
public class WhileLoopExample {
public static void main(String[] args) {
String str = "Hello, Java!";
int i = 0;
while (i < str.length()) {
char c = str.charAt(i);
System.out.println("Character at index " + i + ": " + c);
i++;
}
}
}
输出:
Character at index 0: H
Character at index 1: e
Character at index 2: l
Character at index 3: l
Character at index 4: o
Character at index 5: ,
Character at index 6:
Character at index 7: J
Character at index 8: a
Character at index 9: v
Character at index 10: a
Character at index 11: !
4. 使用 String
的 toCharArray()
方法
toCharArray()
方法将字符串转换为一个字符数组,然后可以使用for-each
循环或其他数组遍历方法进行遍历。
public class ToCharArrayExample {
public static void main(String[] args) {
String str = "Hello, Java!";
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println("Character at index " + i + ": " + chars[i]);
}
}
}
输出:
Character at index 0: H
Character at index 1: e
Character at index 2: l
Character at index 3: l
Character at index 4: o
Character at index 5: ,
Character at index 6:
Character at index 7: J
Character at index 8: a
Character at index 9: v
Character at index 10: a
Character at index 11: !
5. 使用 String
的 codePoints()
方法遍历 Unicode 代码点
public class CodePointsExample {
public static void main(String[] args) {
String str = "Hello, 世界!";
str.codePoints().forEach(cp -> {
System.out.println("Code point: " + cp);
System.out.println("Character: " + new String(Character.toChars(cp)));
});
}
}
输出:
Code point: 72
Character: H
Code point: 101
Character: e
Code point: 108
Character: l
Code point: 108
Character: l
Code point: 111
Character: o
Code point: 44
Character: ,
Code point: 32
Character:
Code point: 19990
Character: 界
Code point: 30028
Character: 世
Code point: 33
Character: !
6. 使用 String
的 codePoints()
方法遍历 Unicode 代码点
public class CodePointsExample {
public static void main(String[] args) {
String str = "Hello, 世界!";
str.codePoints().forEach(cp -> {
System.out.println("Code point: " + cp);
System.out.println("Character: " + new String(Character.toChars(cp)));
});
}
}
输出:
Code point: 72
Character: H