1、循环结构

Java中有三种循环结构,分别为while循环,do...while循环,for循环。

其中while循环是最基本的循环,其结构为:

while(布尔表达式){    
    //循环内容
}
  • 只要布尔表达式为true循环就会一直执行;
  • 大多数情况下我们会需要一个方式让表达式失效来让循环停止;
  • 少部分情况才会让循环一直执行,比如服务器的请求响应监听等;
  • 循环条件一直是true就会陷入死循环,正常的代码编写中应当尽量避免死循环。死循环会影响程序性能甚至卡死崩溃。

下面是while循环的一个执行代码:

public class WhileDemo01 {
    public static void main(String[] args) {

        //输出1~100
        int i = 0;

        while(i<100){
            i++;
            System.out.println(i);
        }
    }
}

while循环如果不满足布尔表达式条件则不会进入循环,有些情况我们需要代码至少执行一次,do...while就满足了这个需求,起结构为:

do{
    //代码语句
}while(布尔表达式);

两者的区别是while是先判断后执行,dowhile是先执行后判断,所以会至少执行一次循环体。

下面是dowhile循环的一个执行代码:

public class DoWhileDemo01 {
    public static void main(String[] args) {
        int i = 0;
        int sum = 0;

        do{
            sum = sum + i;
            i++;
        }while(i<=100);

            System.out.println(sum);

    }
}

for循环可以使一些循环结构更为简单,是一种最有效最灵活的循环结构。

for循环的执行次数在执行前就确定了。其语法结构为:

for (初始化;布尔表达式;更新){
    //代码语句
}

下面是for循环的一个执行代码:

public class ForDemo01 {
    public static void main(String[] args) {
        int a = 1; //初始化条件

        while (a<=100){ //条件判断
            System.out.println(a); //循环体
            a+=2; //迭代 a=a+2
        }

        System.out.println("while循环结束!");
            //初始化//条件判断//迭代
        for(int i=1;i<=100;i++){
            System.out.println(i);
        }
        //输入100.for也可以生出一个for循环

        System.out.println("for循环结束!");
        //死循环
        for( ; ; ) {

           }
        }
}

关于for循环有以下几点说明:

  • 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
  • 然后检测布尔表达式的值。如果为true,循环体被执行,如果为false,循环终止。开始执行循环体后面的语句
  • 执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)
  • 再次检测布尔表达式。循环执行上面的过程。

2、continue和break

  1. break在任何循环语句的主体部分。均可用break控制循环的流程。
  2. break用于强制退出循环,不执行剩下的语句
  3. continue用于在循环语句体中,用于终止某次循环,即跳过循环体中尚未执行的语句,接着进行下一次是否循环的判定

简单的来说就是break直接终止整个循环,而continue进中断本次循环,对于下一次循环没有影响。