• 循环结构——while循环、do...while循环


    循环结构

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

    一、while循环

    • while是最基本的循环,它的结构为:
    while(布尔表达式){
    	// 循环内容
    }
    
    • 1
    • 2
    • 3
    • 只要布尔表达式为true,循环就会一直执行下去。
    • 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环
    • 少部分情况需要循环一直执行,比如服务器的请求响应监听等。
    • 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!
    • 思考:计算1+2+3+…+100=?

    输出1~100

    package com.jacyzhu.struct;
    
    public class WhileDemo01 {
        public static void main(String[] args) {
            // 输出1~100
            int i = 0;
            while (i<100){
                i++;
                System.out.println(i);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    运行结果:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101

    计算1+2+3+…+100=?

    package com.jacyzhu.struct;
    
    public class WhileDemo03 {
        public static void main(String[] args) {
            // 计算1+2+3+...+100=?
    		// 高斯的故事
            int i = 0;
            int sum = 0;
    
            while (i<=100){
                sum = sum + i;
                i++;
            }
    
            System.out.println(sum);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    运行结果:
    5050
    
    • 1
    • 2

    二、do…while循环

    • 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
    • do…while循环和while循环相似,不同的是,do…while循环至少会执行一次。
    do{
    	//代码语句
    }while(布尔表达式);
    
    • 1
    • 2
    • 3
    • while和do…while的区别:
      1. while先判断后执行。do…while是先执行后判断!
      2. do…while总是保证循环体会被至少执行一次!这是它们的主要差别。
    package com.jacyzhu.struct;
    
    public class DoWhileDemo01 {
        public static void main(String[] args) {
            // 计算1+2+3+...+100=?
            int i = 0;
            int sum = 0;
    
            do{
                sum = sum + i;
                i++;
            }while (i<=100);
    
            System.out.println(sum);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    运行结果:
    5050
    
    • 1
    • 2
    package com.jacyzhu.struct;
    
    public class DoWhileDemo02 {
        public static void main(String[] args) {
            int a = 0;
            while (a<0){
                System.out.println(a);
                a++;
            }
    
            System.out.println("============================");
    
            do{
                System.out.println(a);
                a++;
            }while (a<0);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    运行结果:
    ============================
    0
    
    • 1
    • 2
    • 3
  • 相关阅读:
    计算机毕业设计SSM餐厅订餐系统【附源码数据库】
    [附源码]Python计算机毕业设计SSM康健医药公司进销存管理系统(程序+LW)
    【数据结构】排序(1)
    自动化测试需知的4项测试工具!
    怎样构建符合HIPAA的服务?
    【毕业设计】基于单片机的超声波雷达系统
    2310d模板替换运行时
    SpringMVC(二)@RequestMapping注解
    一口气说出 Synchronized 同步方法的八种使用场景
    动力节点老杜JavaWeb笔记(全)
  • 原文地址:https://blog.csdn.net/zsl2010zsl/article/details/126127080