欢迎光临
我们一直在努力

Java 数组练习|用 char 数组生成「A~Z」26 个英文字母

📌 专栏:「Java代码练习」· 第 1 篇

适合 Java 数组入门新手,一道经典数组基础练习题

📝 题目要求

创建一个长度为 26 的char数组,存放大写字母A~Z,通过 for 循环填充数组,再遍历打印全部元素。

💡小知识点:char 字符支持算术运算,'A' + 1就等于'B',字符底层本质是 ASCII 编码数字。

💻完整代码

public class ArrayExercise01 {
public static void main(String[] args) {
// 创建长度26的char数组
char[] letters = new char[26];

// 循环填充数组:'A' + i 得到后续字母,强转为char
for (int i = 0; i < letters.length; i++) {
letters[i] = (char) ('A' + i);
}

// 循环遍历打印数组所有元素
for (int i = 0; i < letters.length; i++) {
System.out.print(letters[i] + " ");
}
}
}

✅运行输出

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

🔎核心代码解读

  • char[] letters = new char[26];

    开辟长度 26 的 char 数组,数组每个元素初始值为空字符。这个数组只能存放 char 字符,不能直接存 int 整数。

  • letters[i] = (char) ('A' + i);

    • 'A'对应的 ASCII 码为 65,变量i从 0 开始递增;
    • 'A' + ichar 和 int 做算术运算时,char 会自动类型提升为 int,所以结果是 int 类型。
    • 因为数组元素是 char,不能直接接收 int,必须做 (char) 强制类型转换,把数字转回字符,再存入数组。

    ✨一句话总结:letters数组本身是 char 类型,只能存字符;但 'A'+i 计算结果是 int,不做强转,就会把 int 数字赋值给 char,编译报错。

    ⚠️易错点总结

  • 忘记强制转换 (char):编译直接报错,int 不能赋值给 char 变量。
  • 数组越界:数组下标从 0 开始,循环条件用 i < letters.length,不要写成 i <= letters.length,否则会触发 ArrayIndexOutOfBoundsException。
  • 🚀 拓展

    • 如果想输出小写a‑z,只需要把'A'改成'a'即可。

    letters[i] = (char) ('a' + i);

    • 如果想从 Z 到 A 倒序填充呢?试试看:

    letters[i] = (char) ('Z' i);


    Happy Coding! 🎉

    赞(0)
    未经允许不得转载:171主机测评 » Java 数组练习|用 char 数组生成「A~Z」26 个英文字母
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址