Java多重循环

一.多重循环的理解

(1)多重循环指一个循环语句的循环体中再包含循环语句,又称嵌套循环。

(2)循环语句内可以嵌套多层循环。

(3)不同的循环语句可以相互嵌套。

语法格式:
	while(循环条件1){
		循环语句1
		while(循环条件2){
			循环语句2
		}
	}
					
	do{
		循环体
		do{
			循环体
		}while(循环条件);
	}while(循环条件);
					
	for(表达式1;表达式2;表达式3){
		循环体
		for(表达式1;表达式2;表达式3){
			循环体
		}
	}
					
	while(循环条件1){
		循环语句1
		for(循环条件2){
			循环语句2
		}
	}

二.多重循环的使用:

       各循环可互相嵌套 一般不超过三层

        外层循环变量变化一次,内层循环变量要变化一遍

        以一个小程序为例如下:最外层循环控制这行数,内层控制着列数


	public static void main(String[] args) {
		//外层循环控制行数
		for(int i =1;i<=6;i++){
			//输出每一行前面的“ ”,内层循环控制每一行的列数
			for(int j =1;j<=6-i;j++){
				System.out.print(" ");
			}
			
			//输出每一行的*,内层循环控制每一行的列数
			for(int k =1;k<=2*i-1;k++){
				System.out.print("*");
			}
			
			//输出一行的“ ”和“*”之后要换行
			System.out.println();
			
		}

	}

三.多重循环例题

1:使用Java实现输出如下图形。

        //三角形
        //外层循环控制行数
        for (int i=1;i<=3;i++){
            //内层循环控制三角形左边空格个数
            for (int j=1;j<=3-i;j++){
                System.out.print(" ");
            }
            //控制每一行星号个数
            for (int k=1;k<=2*i-1;k++){
                System.out.print("*");
            }
            //每一行输出后换行
            System.out.println();
        }

 输出结果:

 2:使用Java实现输出如下图形。

 

        //将图形分为赏析俩个梯形
        for (int i=1;i<=6;i++){
            //打印空格
            for (int j=1;j<=6-i;j++){
                System.out.print(" ");
            }
            //打印星号
            for (int k=1;k<=4+2*i;k++){
                System.out.print("*");
            }
            //打印完一行后换行
            System.out.println();
        }

        for (int i=1;i<6;i++){
            for (int j=1;j<=i;j++){
                System.out.print(" ");
            }
            for (int k=1;k<=16-2*i;k++){
                System.out.print("*");
            }
            System.out.println();
        }

运行结果:

 3:使用Java实现输出如下图形。

         

 先将其看成上下俩个三角形

之后上半部分先输出左边的空格三角形,

之后直接输出星号,

在输出中间的空格三角形,

最后在输出右边的星号。

下半部分和上半部分使用一样的方法处理。

        //空心菱形
        //将其看成上下俩个没有底三角形
        for (int i=1;i<=9;i++){
            //先打印左边空格三角形
            for (int j=1;j<=9-i;j++){
                System.out.print(" ");
            }
            //在三角形后打印星号
            System.out.print("*");
            //之后打印星号内的空格三角形
            for (int j=1;j<=2*(i-1)-1;j++){
                System.out.print(" ");
            }
            //第一行已经打印过了星号,一次在第二行之后再开始继续打印星号
            if (i!=1){
                System.out.print("*");
            }
            System.out.println();
        }


        for (int i=1;i<9;i++){
            for (int j=1;j<=i;j++){
                System.out.print(" ");
            }
            System.out.print("*");
            for (int j=1;j<16-2*i;j++){
                System.out.print(" ");
            }
            if (i!=8){
                System.out.print("*");
            }
            System.out.println();
        }

 4:使用Java实现输出如下图形。

用逆向思维写这道题。将空格与星号调过来看,可以看成例题一的相似的题目。

之后先输出左边的三角形,

之后在输出中间的空格大三角形,

最后在输出左边的星号三角形


        for (int i=1;i<=8;i++){
            for (int j=1;j<=9-i;j++){
                System.out.print("*");
            }
            for (int k=1;k<=2*(i-1)-1;k++){
                System.out.print(" ");
            }
            if (i==1){
                for (int z=1;z<=7;z++){
                    System.out.print("*");
                }
            }else {
            for (int j=1;j<=9-i;j++){
                System.out.print("*");
            }
            }

            System.out.println();
        }

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值