循环结构(while/do-while/for)

逻辑:如果…,则再继续…。

循环结构分为当型(while、for)和直到型(do…while)

当型:布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环。

直到型:先执行某语句, 再判断布尔表达式,为true时,就执行反复某语句,当布尔表达式条件为false时才停止循环。

while循环

格式:

While (布尔表达式) {
    循环体;
}

当布尔表达式的结果为true时一直执行循环体内容,直到结果为false时结束循环。

注意:循环体中必须要有使循环结束的语句,复制会出现死循环。

示例:

package com.itcode.demo1;  

/**      
 * @author: 成都码到功成学员  
 * @Description:  
 * 需求:while循环加if-else嵌套使用 求1-100奇数之和,偶数之和。 
 *      以后我们做练习最好能把以前的知识结合在一起,锻炼自己的思维能力。 
 */  
public class TestControl5 {  

    public static void main(String[] args) {  

        int i = 0;  
        int count1 = 0; // 奇数和  
        int count2 = 0; // 偶数和  

        while (i <= 100) {  
            // 当i是奇数时就把奇数的值累加到count1。反之则累加到count2。  
            if (i%2 != 0) {  
                count1 += i;  
                i ++;  
            } else {  
                count2 += i;  
                i ++;  
            }  
        }  

        System.out.println("奇数和:" + count1);  
        System.out.println("偶数和:" + count2);  
    }  
}

效果:

示例二:输入10个人的年龄,判断大于30岁所占的比例

do-while循环

格式:

概述:先执行某语句, 再判断布尔表达式,为true时,就执行反复某语句,当布尔表达式条件为false时才停止循环。

和while的区别:while是先判断再执行,do…while是先执行再判断。

示例:

for循环

格式:

细节阐述

  • 初始化语句:设置循环变量初始化值。

  • 布尔表达式:任意布尔表达式都可以。

  • 迭代因子:控制循环变量的增减。

  • 循环体:输出内容

  • 初始化作用域:仅限于for循环内。

无限循环

示例:

注意for增强型

for-each/增强for循环不能修改数组元素的值,不涉及索引(下标)的操作。

嵌套循环

概述:在一个循环语句内部再嵌套1-n个循环。while、do-while与for循环相互间可任意嵌套多层。

示例:

效果:

continue,break

  • continue:略过本次循环之后继续循环。(只能放在循环中,搭配if语句使用)

  • break:直接终止,剩下的循环不再执行。跳出所在循环或switch语句。(一般用于循环或者switch语句中),想跳出外层循环请使用标签。

  • return:返回值和结束方法运行。

注意:1.break可以放在任何语句中,比如单独使用if语句必须搭配标签使用。

示例:

效果:

练习:

效果:

带标签的continue/break

简单来讲,标签可以从内循环调到外循环。一般不用,但需要了解。

示例:

效果:

练习

练习1:

效果:

Last updated

Was this helpful?