一、while 循环
![bce0ec5e02074c484e5a2b9cbb8a0f46.png](https://i-blog.csdnimg.cn/blog_migrate/b23b68eb8445e34d5bc241c0c6bcdf40.jpeg)
二、do while 循环
![714daf7f73c3ec7f02a2cc753cd17b83.png](https://i-blog.csdnimg.cn/blog_migrate/26531a692d1b7ac981ee176ebeecb1a2.png)
while循环执行的顺序:先判断,再执行
do_while循环执行的顺序:先执行,再判断
初始条件下,循环的执行次数不同
while执行0次,do_while执行1次
三、for循环
for循环执行的次数是在执行前就确定的。语法格式如下:
for(初始化; 布尔表达式; 更新){
//代码语句
}
关于 for 循环有以下几点说明:
- 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
- 然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
- 执行一次循环后,更新循环控制变量。
- 再次检测布尔表达式。循环执行上面的过程。
四、双重循环
循环里有套用一个完整的循环结构
特点: 各循环可互相嵌套
一般不超过三层
外层循环变量执行一次,内层循环变量要执行一遍
如在冒泡排序,外循环控制执行的次数
public class BubbleSort {
/**
* 冒泡排序 --- O(N^2)
* 有序数组 --- O(N)
*/
public static void bubleSort(int[] a){
int tmp;
//第一层循环是比较的轮数
for(int i = 0;i<a.length-1;i++){
//第二层循环是每一轮比较的次数
for(int j = 0;j<a.length-i-1;j++){
//交换
if(a[j] > a[j+1]){
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
}
public static void main(String[] args){
int[] a = {1,8,2,6,4,2,3,8,4,6,10,12,45,21,31,22,22,22,23,21,20,23,24,21,23,23};
bubleSort(a);
for(int i = 0;i<a.length;i++) {
System.out.print(a[i]+"t");
}
}
}
十大经典排序算法
https://blog.csdn.net/sx2448826571/article/details/80487531blog.csdn.net五、跳出循环
5.1 continue 关键字
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
5.2 break关键字
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
即continue跳出本轮循环执行下一轮、break直接跳出循环。
package com.jiahui.part01;
public class Control {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
// break;//输出2次
// continue;//输出7次
System.out.println("纯路人,家辉可真帅啊!");//输出13次
}
System.out.println("纯路人,家辉可真帅啊!");
}
}
}