我是靠谱客的博主 花痴钢笔,最近开发中收集的这篇文章主要介绍玩转双层嵌套的for循环,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

###先是一个简单的

public class Demo {
	public static void print(int a, int b) {
		for (int i = 1; i <= a; i++) {
			for (int j = 1; j <= b; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
	public static void main(String[] args) {
		print(5, 5);
	}
}

###数组的定义: ###int[] arr=new int[]{自定义数}; int[] arr={自定义数}; ###int[] arr=new int[数字]; ###冒泡排序从小到大

public class Demo {
	public static void main(String[] args) {
		int[] arr = new int[] { 10, 51, 48, 45, 21, 34, 51 };
		for (int i = 0; i < 6; i++) {
			for (int j = 0; j < 6 - i; j++) {
				if (arr[j] > arr[j + 1]) {
					int temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;
				}
			}
		}
		for (int i = 0; i < 6; i++) {
			System.out.println(arr[i]);
		}
	}
}

···java public class Demo { public static void main(String[] args) { int[] arr = new int[] { 10, 51, 48, 45, 21, 34, 51 }; for (int i = 1; i < 8; i++) { for (int j = 0; j < 6 - i; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (int i = 0; i < 6; i++) { System.out.println(arr[i]); } } }

###在第二个代码中很显然外层循环变了,初始值变成1,循环次数多一次,他不影响代码的执行的,因为外层循环控制的是次数。但不知道大家有没有想过内层循环能不能变呢?答案是否定的,因为它不仅代表的是循环次数还有下面值的交换,j还代表着角标,初始化一定从0开始。
```java
public class Demo2 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] arr = new int[] { 12, 14, 8, 6, 34, 25 };
		for (int i = 0; i <= arr.length - 1; i++) {
			for (int j = i + 1; j < arr.length - 1; j++) {
				if (arr[i] > arr[j]) {
					int temp = arr[j];
					arr[j] = arr[i];
					arr[i] = temp;
				}
			}
		}
		for (int i = 0; i < 5; i++) {
			System.out.println(arr[i]);
		}
	}
	
}



###选择排序相反,外层循环中i的初始化不能改变,因为数组需要按照要求旅历一遍。

转载于:https://my.oschina.net/u/3220534/blog/830867

最后

以上就是花痴钢笔为你收集整理的玩转双层嵌套的for循环的全部内容,希望文章能够帮你解决玩转双层嵌套的for循环所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部