Java String charAt()

charAt() 方法用來取得字串中指定位置的字元。

語法

string.charAt(int index)
  • index:字元的索引位置(從 0 開始)
  • 回傳指定位置的字元

範例

String s = "Hello";

char c1 = s.charAt(0);  // 'H'
char c2 = s.charAt(1);  // 'e'
char c3 = s.charAt(4);  // 'o'

System.out.println(c1);  // H
System.out.println(c2);  // e
System.out.println(c3);  // o

索引範圍

索引從 0 開始,到 length() - 1

String s = "Hello";  // 索引 0, 1, 2, 3, 4

// 超出範圍會拋出 StringIndexOutOfBoundsException
// char c = s.charAt(5);  // 錯誤!
// char c = s.charAt(-1); // 錯誤!

遍歷字串

String s = "Hello";

// 使用 charAt() 遍歷
for (int i = 0; i < s.length(); i++) {
    System.out.println(s.charAt(i));
}

toCharArray()

將字串轉換為字元陣列:

String s = "Hello";
char[] chars = s.toCharArray();

for (char c : chars) {
    System.out.println(c);
}

// 也可以修改字元
chars[0] = 'J';
String newString = new String(chars);
System.out.println(newString);  // "Jello"

實際應用

檢查首字元

String s = "Hello";

if (s.charAt(0) == 'H') {
    System.out.println("字串以 H 開頭");
}

計算特定字元數量

String s = "Hello World";
int count = 0;

for (int i = 0; i < s.length(); i++) {
    if (s.charAt(i) == 'l') {
        count++;
    }
}

System.out.println("l 出現 " + count + " 次");  // l 出現 3 次

反轉字串

String s = "Hello";
String reversed = "";

for (int i = s.length() - 1; i >= 0; i--) {
    reversed += s.charAt(i);
}

System.out.println(reversed);  // "olleH"