java嵌套循环打印图形的核心是外层控行、内层控列,依规律决定每行空格与星号数量:如左对齐三角形第i行打i个,等腰三角形第i行打(5−i)个空格加i个,九九表外i内j且j≤i,空心菱形需条件判断边界位置。

Java 嵌套循环打印图形,核心是用外层循环控制行数,内层循环控制每行的字符(如 *、空格或数字)数量和排列方式。关键在于分析图形的规律:每行要输出几个字符?哪些位置是空格?哪些位置是星号?然后把规律转化为循环条件和打印逻辑。
基础星号三角形(左对齐)
例如打印一个 5 行的直角三角形:
* ** *** **** *****
规律:第 i 行(i 从 1 开始)输出 i 个 *。
实现方式:
- 外层 for 循环控制行数(1 到 5)
- 内层 for 循环控制当前行打印多少个
*(1 到 i) - 每行结束后用
System.out.println()换行
代码示例:
<font color="#888">for (int i = 1; i for (int j = 1; j System.out.print("*");<br> }<br> System.out.println();<br>}</font>
等腰三角形(居中,含空格)
例如 5 行的实心等腰三角形:
*
**
***
****
*****
规律:第 i 行(i 从 1 开始)有 (5 - i) 个前导空格,再加 i 个 *。
实现要点:
- 先用内层循环打印空格(
5 - i次) - 再用另一个内层循环打印星号(i 次)
- 注意:
print不换行,println才换行
代码片段:
<font color="#888">for (int i = 1; i // 打印空格<br> for (int j = 1; j System.out.print(" ");<br> }<br> // 打印星号<br> for (int k = 1; k System.out.print("*");<br> }<br> System.out.println();<br>}</font>
九九乘法表(经典双变量嵌套)
输出上三角格式(1×1 到 9×9,每行只到当前行号):
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 ...
规律:外层 i 控制行(1~9),内层 j 控制列(1~i),每行输出 j*i 的结果。
技巧:
- 用
System.out.printf("%d*%d=%-2d ", j, i, j*i)对齐更整齐 - 每行末尾加
println()换行
打印空心菱形(综合空格、星号、边界判断)
难点在于区分“是否为边界”——只有首尾列、首尾行,或满足对称位置关系时才打印 *,其余打空格。
思路分两步:
- 上半部分(含中间行):行号 i 从 1 到 n,空格数 = n−i,星号位置为第 1 列和第 (2i−1) 列
- 下半部分:行号 i 从 n−1 到 1,类似处理
- 每行用一个循环遍历所有列(总宽 = 2n−1),用 if 判断当前位置是否该输出
*
这种图形强调逻辑拆解:先想清楚“什么位置该打什么”,再用嵌套循环 + 条件语句实现。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











