在Java编程中,打印简单图形是初学者常练习的基础技能,通过实现图形打印可以加深对循环语句和逻辑控制的理解,下面将介绍几种常见简单图形的Java实现代码,包括矩形、直角三角形、等腰三角形和菱形,并附上详细解析。

矩形打印
矩形是最基础的图形,通过双重循环即可实现,外层循环控制行数,内层循环控制每行的列数,以下代码为打印一个5行10列的矩形:
public class Rectangle {
public static void main(String[] args) {
int rows = 5, cols = 10;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= cols; j++) {
System.out.print("* ");
}
System.out.println();
}
}
}
解析:外层循环for (int i = 1; i <= rows; i++)遍历5行,内层循环for (int j = 1; j <= cols; j++)每行打印10个星号,System.out.println()用于换行。
直角三角形打印
直角三角形分为左对齐和右对齐两种,左对齐直角三角形的代码如下:
public class RightTriangle {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();
}
}
}
解析:内层循环条件改为j <= i,使每行星号数量与行号相同,右对齐直角三角形需在每行前添加空格,可通过调整内层循环实现:

for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= i; k++) {
System.out.print("* ");
}
System.out.println();
}
等腰三角形打印
等腰三角形需要控制每行星号数量和空格数量,核心是找到行号与空格、星号数量的关系,以下为5行等腰三角形代码:
public class IsoscelesTriangle {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
}
}
解析:每行空格数为rows - i,星号数为2 * i - 1(奇数规律),通过双重循环实现居中效果。
菱形打印
菱形由上下两个等腰三角形组成,需分别处理上半部分和下半部分,以下为5行菱形代码:
public class Diamond {
public static void main(String[] args) {
int rows = 5;
// 上半部分
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
// 下半部分
for (int i = rows - 1; i >= 1; i--) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
}
}
解析:上半部分与等腰三角形相同,下半部分通过倒序循环实现,行号从rows-1递减到1,空格和星号数量与上半部分对称。

优化与扩展
上述代码可通过参数化行数提高灵活性,例如将行数设为方法参数,可结合用户输入动态调整图形大小,使用Scanner类实现交互式打印,对于复杂图形,可考虑使用二维数组存储图形数据,再通过循环输出。
掌握简单图形打印是Java编程入门的重要练习,通过理解循环嵌套和逻辑关系,可逐步提升代码设计能力,为后续学习更复杂的图形界面开发奠定基础。



















