java中用嵌套for循环打印图形,核心是通过行号i与列号j的数学关系控制输出;直角三角形左对齐时,第i行打印i个星号,i从1到n。

Java 中用循环打印图形,核心是用嵌套 for 循环控制行与列,通过判断条件决定每行打印什么(空格、星号、数字等)。关键在于找出行号(i)和列号(j)与图形位置之间的数学关系。
打印直角三角形(左对齐)
第 i 行打印 i 个星号,i 从 1 到 n。
<font size="2"><pre class="brush:php;toolbar:false;">int n = 5;<br>for (int i = 1; i for (int j = 1; j System.out.print("*");<br> }<br> System.out.println(); // 换行<br>}
打印等腰三角形(居中)
每行由空格 + 星号组成:第 i 行(i 从 1 开始)有 n - i 个前导空格、2*i - 1 个星号。
你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在
- 外层循环控制行数(1 到 n)
- 内层第一个循环打印空格:
for (int j = 1; j - 第二个内层循环打印星号:
for (int j = 1; j
打印菱形
可拆成上半部分(含中间行)和下半部分。假设总行数为奇数(如 7 行),则上半部 4 行,下半部 3 行。
- 上半部(i 从 1 到 (n+1)/2):空格数 =
(n+1)/2 - i,星号数 =2*i - 1 - 下半部(i 从 1 到 (n-1)/2):空格数 =
i,星号数 =n - 2*i
打印数字金字塔(如 1, 121, 12321)
利用列号 j 和当前行中心位置的关系:先递增到中心再递减。例如第 4 行输出 1234321,可用 Math.abs(j - center) 控制数字变化。
- 设 center = i(当前行号),j 从 1 到
2*i-1 - 数字值 =
i - Math.abs(j - i),即离中心越远数字越小
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










