初学Java,用*输出菱形

这星期刚开始学习Java的循环语句,最后觉得输出图形比较有趣就把这个记录下来了。
public class linxing {
    public static void main(String[] args) {

        for(int i=1;i<=4;i++){
            for(int j=1;j<=4-i;j++){
                System.out.print(" ");
            }
            for(int k=1;k<=i;k++){
                System.out.print(" *");
            }
            System.out.println();
        }
        for(int i=3;i>=1;i--){
            for(int j=1;j<=4-i;j++){
                System.out.print(" ");
            }
            for(int k=1;k<=i;k++){
                System.out.print(" *");
            }
            System.out.println();
        }
    }
}

这段代码的主要功能是打印出一个菱形图案到控制台。它通过使用两层嵌套的for循环来实现。下面是对这段代码逐行的解释:

第一部分:打印上半部分(包括中间行)

for(int i=1;i<=4;i++){
// 外层循环控制行数,从1到4,代表菱形上半部分(包括中间行)的行数
for(int j=1;j<=4-i;j++){
// 内层循环1打印空格,空格的数量随着外层循环变量i的增加而减少
// 这是为了确保星号(*)能够随着行数的增加而向右移动,形成菱形的上半部分
System.out.print(" ");
}
for(int k=1;k<=i;k++){
// 内层循环2打印星号(*),星号的数量随着外层循环变量i的增加而增加
// 这使得每一行的星号数量从1开始递增,直到达到4(中间行)
System.out.print(" *");
}
System.out.println();
// 每打印完一行(包括空格和星号)后换行
}

第二部分:打印下半部分

for(int i=3;i>=1;i--){
// 外层循环控制行数,从3递减到1,代表菱形下半部分的行数
for(int j=1;j<=4-i;j++){
// 内层循环1打印空格,与上半部分类似,但此时空格的数量随着i的减小而增加
// 这使得星号(*)能够随着行数的减少而向左移动,形成菱形的下半部分
System.out.print(" ");
}
for(int k=1;k<=i;k++){
// 内层循环2打印星号(*),星号的数量随着外层循环变量i的减少而减少
// 这与上半部分相反,使得下半部分的星号数量从3递减到1
System.out.print(" *");
}
System.out.println();
// 每打印完一行(包括空格和星号)后换行
}

完整效果

当运行这段代码时,它会在控制台上打印出一个由星号(*)组成的菱形图案,具体如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值