Java循环结构

循环结构

循环结构主要有三种:

  • while循环结构

  • do...while循环

  • for循环

    在Java5中引入了一种主要用于数组的增强型for循环。

while循环

while是最基本的循环,语法为:

while(布尔表达式){//循环内容}

注意事项

  • 只要布尔表达式为true,循环就会一直执行下去。
  • 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。
  • 少部分情况需要循环一直执行,比如服务器的请求相应监听等。
  • :循环条件一直为true会造成无限循环【死循环】,我们正常业务编辑中应该尽量避免死循环,会影响程序性能或造成程序卡死崩溃。
public static void main(String[] args) {
    //显示1~100
    int i=0;
    //避免判断条件一直为true,会造成死循环。
    while (i<100){
        i++;
        System.out.println(i);
    }

do...while循环

对于while循环,要先判断条件是否满足,如果不满足条件则不能进入循环。但有时我们需要即使不满足条件,也要只是执行一次,因此就诞生了do...while循环。do...while循环和while循环相似,不同的是do...while循环至少执行一次。

语法为:

do{
    //代码语句
}while(布尔表达式);
public static void main(String[] args) {
    int i=0;
    int sum=0;
    do {
        sum=sum+i;
        i++;
    }while (i<=100);
    System.out.println(sum);
}

while和do...while的区别

  • while先判断后执行,do...while先执行后判断。
  • do...while总是保证循环体会被至少执行一次!这是他们的主要区别。

for循环

for循环可以使一些循环结构变得更加简单。

for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构

for循环执行的次数是在执行之前就确定的。

语法:

for(初始化;布尔值表达式;更新){
    //代码语句
}
public static void main(String[] args) {
    //for语句括号内分别为,初始化条件;条件判断;迭代
    for (int i=1;i<100;i+=2){
        System.out.println(i);
    }
    System.out.println("for循环结束!");
    /*
    关于for循环有以下几点说明:
    最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
    然后,检测布尔表达式的值,如果为true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
    执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
    再次检测布尔表达式,循环执行上面的过程。
     */
    //for 语句没有执行条件也可以进行,则进入死循环。
    for (; ; ) {

    }
public static void main(String[] args) {
    /*
    练习打印九九乘法表:
    1.我们先打印第一列
    2.我们把固定的1用循环包起来
    3.去掉重复项,i<=j
    4.调整样式
     */
    for (int j = 1; j<=9; j++) {
        for (int i = 1; i<=j; i++) {
            System.out.print(i+"*"+j+"="+(j*i)+"\t");
        }
        System.out.println();
    }

增强for循环

先了解一下,之后数组会重点介绍使用。

Java 5引入了一种主要用于数组或集合的增强型for循环。

语法:

for(声明语句:表达式){
    //代码句子
}

声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域必须限定在循环语块,其值与此时数组元素的值相等。

表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

public static void main(String[] args) {
    int[] numbers={10,20,30,40,50};//定义了一个数组
    //遍历数组的元素
    for (int x:numbers){
        System.out.println(x);
    }
}
posted @ 2021-03-16 21:29  牡丹江的江  阅读(40)  评论(0)    收藏  举报