zoukankan      html  css  js  c++  java
  • Java-006-循环结构和控制语句详解(while, dowhile ,for ,switch)

    顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,,就需要使用循环结构

    Java中有三种主要的循环结构:

    while 循环、do…while 循环for 循环

    ①while循环

    结构为:

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

    只要布尔表达式为 true,循环就会一直执行下去。

    int x = 10;
            while (x<20){
                System.out.println("value of x : " + x);
                x ++ ;
                System.out.print("
    ");
            }
            //运行结果如下:
            /*
                value of x : 10
                value of x : 11
                value of x : 12
                value of x : 13
                value of x : 14
                value of x : 15
                value of x : 16
                value of x : 17
                value of x : 18
                value of x : 19
             */

    ②do .. while循环

    //对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

    //do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次

            /*
            do {
                //代码语句
            }while(布尔表达式);
            //注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。
            如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。
            */
            int y = 10;
            do {
                System.out.println("value of Y = " + y);
                y ++ ;
                System.out.print("
    ");
            }while ( y < 20);
    
            //输出结果为:
            /*
            value of Y = 10
            value of Y = 11
            value of Y = 12
            value of Y = 13
            value of Y = 14
            value of Y = 15
            value of Y = 16
            value of Y = 17
            value of Y = 18
            value of Y = 19
             */

    ③for循环

    //for循环执行的次数是在执行前就确定的。语法格式如下

           /*
            for(初始化; 布尔表达式; 更新) {
                //代码语句
            }
            //注意:
            1.最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
            2.然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
            3.执行一次循环后,更新循环控制变量。
            4.再次检测布尔表达式。循环执行上面的过程。
            */
            for (int i = 10; i<20 ; i = i + 1){
                System.out.println("value of i = " + i);
            }
            //输出结果:
            /*
            value of i = 10
            value of i = 11
            value of i = 12
            value of i = 13
            value of i = 14
            value of i = 15
            value of i = 16
            value of i = 17
            value of i = 18
            value of i = 19
             */

    案例二:

    For循环创建99乘法表

    for (int i = 1; i <= 9 ; i++){
       //System.out.println("i == " + i);
         for (int j = 1; j<=i; j++){
              System.out.println(i + "*" + j +"=" + (i*j));
              /*
              1*1=1
    
              2*1=2
              2*2=4
    
              3*1=3
              3*2=6
              3*3=9
    
              4*1=4
              4*2=8
              4*3=12
              4*4=16
    
              5*1=5
              5*2=10
              5*3=15
              5*4=20
              5*5=25
    
              6*1=6
              6*2=12
              6*3=18
              6*4=24
              6*5=30
              6*6=36
    
              7*1=7
              7*2=14
              7*3=21
              7*4=28
              7*5=35
              7*6=42
              7*7=49
    
              8*1=8
              8*2=16
              8*3=24
              8*4=32
              8*5=40
              8*6=48
              8*7=56
              8*8=64
    
              9*1=9
              9*2=18
              9*3=27
              9*4=36
              9*5=45
              9*6=54
              9*7=63
              9*8=72
              9*9=81
              */
         }
         System.out.print("
    ");
    }

    案例三、计算1~100之间的所有奇数的和

    for (int i = 1; i <= 100 ; i++){
         if (i%2 != 0){
            System.out.println("i=" + i);
            /*
              i=1
              i=3
              i=5
              i=7
              i=9
              i=11
              i=13
              i=15
              i=17
              i=19
              i=21
              i=23
              i=25
              i=27
              i=29
              i=31
              i=33
              i=35
              i=37
              i=39
              i=41
              i=43
              i=45
              i=47
              i=49
              i=51
              i=53
              i=55
              i=57
              i=59
              i=61
              i=63
              i=65
              i=67
              i=69
              i=71
              i=73
              i=75
              i=77
              i=79
              i=81
              i=83
              i=85
              i=87
              i=89
              i=91
              i=93
              i=95
              i=97
              i=99
             */
         }
    }

    ④Java增强for循环 【for ... in ...】

            /*
            for(声明语句 : 表达式)
            {
               //代码句子
            }
            声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。
            其作用域限定在循环语句块,其值与此时数组元素的值相等。
            表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
            */
            //初始化一个数组
            int [] numbers = {10, 20, 30, 40, 50};
    
            for (int a : numbers) {
                System.out.println("a == " + a);
            }
            //结果:
            /*
            a == 10
            a == 20
            a == 30
            a == 40
            a == 50
             */
            String [] names ={"James", "Larry", "Tom", "Lacy"};
            for (String name : names) {
                System.out.println("name = " + name);
            }
            /*
            输出结果:
            name = James
            name = Larry
            name = Tom
            name = Lacy
             */

    ⑤break 关键字

     //break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。

     //break 跳出最里层的循环,并且继续执行该循环下面的语句。

            int [] nums = {10, 20, 30, 40, 50};
            for(int c : nums ) {
                // c 等于 30 时跳出循环
                if( c == 30 ) {
                    break;
                }
                System.out.print( c );
                System.out.print("
    ");
                //结果:
                /*
                  10
                  20
                 */
            }

    ⑥continue 关键字

            //continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。

            //在 for 循环中,continue 语句使程序立即跳转到更新语句。

            //在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。

            int [] array = {10, 20, 30, 40, 50};
            for(int d : array ) {
                // d 等于 30 时跳出循环
                if( d == 30 ) {
                    continue;
                }
                System.out.print( d );
                System.out.print("
    ");
                //结果:
                /*
                10
                20
                40
                50
                */
            }

    ⑦Switch 语句使用

    switch语句

    没有Break,一直执行,直到遇到break退出

    如果default放到最前边,从上到下执行,从上到下匹配case ,条件不满足 最后执行 break

    char grade = 'C';
    switch(grade)
    {
        case 'A' :
            System.out.println("优秀");
            break;
        case 'B' :
        case 'C' :
            System.out.println("良好");
            break;
        case 'D' :
            System.out.println("及格");
        case 'F' :
            System.out.println("你需要再努力努力");
            break;
        default :
            System.out.println("未知等级");
    }
    System.out.println("你的等级是 " + grade);

     控制语句详解

    Java控制语句可以分为7种

    //1.控制选择结构语句:

    //<1>if , if else

    //<2>switch

     

    //2.控制循环结构语句

    //<3>for

    //<4>while

    //<5>do while

     

    //3.改变控制语句顺序

    //<6> break

    //<7>continue

    /*
    [1-19]小屁孩
    [20-35]小青年
    [36-55]中年
    [56-100]老年
     */
    int age = 40;
    if (age >= 1 && age <= 19){
         System.out.println("小屁孩");
    }else if (age >= 20 && age <= 35) {
         System.out.println("小青年");
    }else if (age >= 36 && age <= 55) {
         System.out.println("中年");
    }else if (age >= 56 && age <= 100) {
         System.out.println("老年");
    }
  • 相关阅读:
    vector<vector<int>> 判断三个数为一组是否重复
    数位dp——hdu2089不要62
    nyoj1099 四点坐标判断正方形
    构造回文——最长公共子序列问题 java
    nyoj08 一种排序
    记录一个protobuf枚举类型引发问题的分析和思考
    记录一下996.icu
    Android N requires the IDE to be running with Java 1.8 or later
    使用fresco后引发的关于造轮子的思考
    使用了一段时间的instant run 记录一下遇到的问题
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/Java_CircleStructure.html
Copyright © 2011-2022 走看看