Java中for循环嵌套的内循环和外循环

排序算法 同时被 2 个专栏收录
13 篇文章 1 订阅
2 篇文章 1 订阅

关于for循环嵌套作如下解释:

      首先内层循环属于外层循环循环体的一部分,当循环体执行完以后外层循环才进入第二次循环,此过程中内层循环需要执行符合条件的完整循环。(外循环控制行数,内循环控制每一行的个数)

下面以冒泡排序为例说明:

  • 第一个(外层)for循环作用:控制排序的轮数

  • 第二个(内层)for循环作用:控制每一轮里的每一个比较步骤

代码:

public class Test {

	public static void main(String[] args) {

		int[] array = { 7, 3, 10, 0, 6 };

		// 共4轮排序,每轮都是把最大的元素排在后面
		for (int i = 0; i < array.length - 1; i++) {

			// 每轮排序中:需要比较的元素个数比上一轮少一个
			for (int j = 0; j < array.length - i - 1; j++) {

				// 中间变量,用于两个元素交换位置
				int temp = 0;
				if (array[j] > array[j + 1]) {

					temp = array[j];
					array[j] = array[j + 1];
					array[j + 1] = temp;
				}
			}

		}

		// 遍历数组,打印元素
		for (int i = 0; i < array.length; i++) {
			System.out.print(array[i] + " ");
		}
	}
}

例1:循环打印下图1

图1

代码如下:

public static void testFor() {
    int n=5;
    for(int i=1;i<=n;i++){
	for(int j=1;j<=n-i;j++){
	    System.out.print(" ");
	}
	for(int j=1;j<=2*i-1;j++){
	    System.out.print("*");
	}
	System.out.println();
    }
}

public static void testFor1() {
    for (int i =1; i <=5; i++) {
            for(int j=5; j>=i; j--){
                System.out.print(" ");
            }
            for(int j=1;j<=i*2-1;j++){
                System.out.print("*");
            }
            System.out.println();
        }
}

 

例:循环打印tu 2

图2

代码如下:

public class Test {

	  public static void main(String[] args) {
	        /*
	         * 外层控制行数
	         * 内层控制星号的个数
	         */
	        for (int i = 1; i <=5; i++) {
	            for(int j=1;j<=i;j++){
	                System.out.print("*");
	            }
	            System.out.println();
	        }
	    }
}

 

  • 21
    点赞
  • 3
    评论
  • 52
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值