直角三角形左对齐:第i行输出i个星号;等腰三角形居中:第i行先输出n-i个空格再输出2i-1个星号;倒三角形:第i行输出n-i+1个星号,空格数递减。

用嵌套循环打印三角形,核心是外层控制行数,内层分别控制每行的空格(用于左对齐或居中)和星号数量。下面以最常见的三种三角形为例,给出清晰、可运行的 Java 代码和关键说明。
1. 直角三角形(左对齐)
第 i 行输出 i 个星号(i 从 1 开始),无需空格。
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println(); // 换行
}
- 外层循环 i 控制总行数(如 5 行)
- 内层循环 j 从 1 到 i,每行打印 i 个 *
- 每行结束后必须调用 System.out.println() 换行
2. 等腰三角形(居中,带空格)
第 i 行(i 从 1 开始)有 (5−i) 个空格 + (2×i−1) 个星号,共 5 行。
int n = 5;
for (int i = 1; i <= n; i++) {
// 打印前导空格
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
// 打印星号(奇数个:1,3,5...)
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
- 空格数 = n − i(越靠后空格越少)
- 星号数 = 2 × i − 1(保证奇数,形成尖顶)
- 两个内层循环可合并为一个,但分开展示逻辑更清晰
3. 倒直角三角形(右对齐)
常用于练习“空格+星号”组合,第 i 行(i 从 1 开始)有 (n−i) 个空格 + i 个星号。
立即学习“Java免费学习笔记(深入)”;
int n = 5;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= i; k++) {
System.out.print("*");
}
System.out.println();
}
- 本质是把直角三角形向右平移,靠空格“垫位”
- 注意空格循环和星号循环顺序不能颠倒,否则不对齐
掌握这三种结构,就能灵活变形出菱形、数字三角形等。关键是理解每行的空格数和符号数如何随行号 i 变化——列出前几行手动推导一次,比死记公式更可靠。



















