📌 专栏:「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,编译报错。
⚠️易错点总结
🚀 拓展
- 如果想输出小写a‑z,只需要把'A'改成'a'即可。
letters[i] = (char) ('a' + i);
- 如果想从 Z 到 A 倒序填充呢?试试看:
letters[i] = (char) ('Z' – i);
Happy Coding! 🎉




