0Pricing
Java Academy · 课时

遍历字符

处理字符串中的每个字符

遍历字符 是 CoddyKit 上的免费 Java Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Java Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Java Academy 课程共包含 4 节课。

字符串由字符组成

String 是一串字符。每个字符都位于一个称为索引的位置上,索引从 0 开始。

在 "Java" 中,索引 0 是 'J',索引 1 是 'a',依此类推。通过循环,您可以按顺序访问每个字符。

String word = "Java";
// indexes: 0=J 1=a 2=v 3=a

charAt 获取一个字符

charAt(index) 方法会返回字符串指定位置上的字符。

索引范围从 0 到 length() - 1。如果请求超出此范围的索引,就会抛出错误。

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        System.out.println(word.charAt(0));
        System.out.println(word.charAt(3));
    }
}

字符串有多长

length() 方法会返回字符串包含的字符数量。

对于 "Java",它会返回 4。由于索引从 0 开始,最后一个有效索引始终是 length() - 1。

public class Main {
    public static void main(String[] args) {
        String word = "Hello";
        System.out.println(word.length());
    }
}

使用索引进行循环

经典的 for 循环会让索引从 0 运行到 length() - 1,并在每次循环中调用 charAt。

这样既能获取位置,也能获取字符,因此适用于需要用到索引的情况。

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (int i = 0; i < word.length(); i++) {
            System.out.println(word.charAt(i));
        }
    }
}

增强型 for 循环

如果不需要索引,请使用 toCharArray() 将字符串转换为字符数组,然后使用 for-each 循环。

这种写法读起来很清晰:对单词中的每个字符 c 执行某项操作。

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (char c : word.toCharArray()) {
            System.out.println(c);
        }
    }
}

在同一行打印

使用 System.out.print 而不是 println,即可让字符保持在同一行中。

逐个字符重新构建或转换文本时,这种方式非常方便。

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (char c : word.toCharArray()) {
            System.out.print(c);
        }
        System.out.println();
    }
}

转换每个字符

在循环中,您可以先修改每个字符,再使用它。这里会在处理过程中将每个字母转换为大写。

我们会构建一个新的字符串,因为原始字符串无法修改;字符串是不可变的。

public class Main {
    public static void main(String[] args) {
        String word = "java";
        String result = "";
        for (char c : word.toCharArray()) {
            result += Character.toUpperCase(c);
        }
        System.out.println(result);
    }
}

反向循环

要反转字符串,请使用 charAt,从最后一个索引循环到 0。

将 i 从 length() - 1 开始,然后不断递减,直到它达到 0。

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (int i = word.length() - 1; i >= 0; i--) {
            System.out.print(word.charAt(i));
        }
        System.out.println();
    }
}

注意边界

请始终在 i < word.length() 的条件下循环,绝不要使用 i <= word.length()。

越过末尾一个位置会使用无效索引调用 charAt,并抛出 StringIndexOutOfBoundsException。

String word = "Hi";
// valid indexes: 0 and 1 only
// charAt(2) would crash

查找字符

循环检查每个字符,并使用 == 将其与目标进行比较。这里会报告第一个 'a' 的索引。

找到目标后,我们会使用 break 提前停止循环。

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (int i = 0; i < word.length(); i++) {
            if (word.charAt(i) == 'a') {
                System.out.println("Found at " + i);
                break;
            }
        }
    }
}

读取字符串

遍历字符是搜索、替换和验证任务的基础。

每当您需要仔细检查文本时,使用循环逐个查看字符都是标准做法。

for (char c : "ab".toCharArray()) {
    System.out.println(c);
}

快速检查

测试您对遍历字符的理解。

回顾

使用带索引循环的 charAt(i),或使用 for-each 循环的 toCharArray(),即可访问每个字符。

循环条件使用 i < length() 可以确保不越界;由于字符串不可变,请构建新的字符串。这种模式是搜索和转换文本的基础。

常见问题解答

「遍历字符」课时是免费的吗?

是的 — 「遍历字符」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Java Academy 课程的其余内容,请升级到 CoddyKit PRO。 Java Academy 课程共包含 4 节课。

「遍历字符」这节课中我会学到什么?

处理字符串中的每个字符 你通过在浏览器中直接运行的动手代码来练习 Java Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Java Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Java Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「遍历字符」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Java Academy 课中编写并运行代码吗?

能。每节 Java Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. char 基本类型
  2. 字符辅助方法
  3. 遍历字符
  4. 统计并筛选字符
← 返回 Java Academy