A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

for 循环结构 :

说明 : for循环语句是常用的循环语句, 一般用在 循环次数已知 的情况下。

语法格式 :
    for (initialication; condition; increment) {
        statements;
    }
   
    for (初始化语句; 循环条件; 循环增量) {
        执行语句;
    }



1. for循环练习 :
练习 : 使用 for 循环, 求 1 ~ 100 之间的所有整数累加和.
    public class ForDemo4 {
            public static void main(String[] args) {
                    
                    // 1. 定义一个 `框变量`
                    int sum = 0;
                    
                    // 2. 遍历 1~100 之间的所有整数
                    for (int i = 1; i <= 100; i++) {
                            // 3. 将当前遍历的数值累加到框变量中
                            sum += i;
                    }
                    
                    // 4. 查看框变量中的数值
                    System.out.println("sum = " + sum);
            }
    }


2. for 循环嵌套
循环嵌套 是指在一个循环语句的循环体中再定义一个循环语句的语法结构, 类似于 大圈套小圈.
循环嵌套的特点 : 外层每循环一次, 内层循环就会执行 所有次.

    public class CircleDemo5 {
            public static void main(String[] args) {
                    
                    // 1. 定义一个 `计算器` 变量
                    int count = 0;
                    
                    // 2. 循环嵌套
                    for (int i = 0; i < 10; i++) {
                            for (int j = 0; j < 10; j++) {
                                    // 在内层循环中, 累加计数器变量
                                    count++;
                            }
                    }
                    
                    // 3. 查看计算器变量的数值
                    System.out.println("count = " + count);
            }
    }

输出结果为 : 100

3. for循环嵌套案例
地球和太阳的故事 地球是围绕着太阳转的, 每转完一圈是一年.(公转), 但是地球绕着太阳转的同时, 自己也在转, 转一圈是一天.(自转) 因此, 当地球完成一次公转同时,那么地球就完成了365次的自转.


    public class EarthDemo6 {
            public static void main(String[] args) {
                    
                    // 外层循环代表 `公转`
                    for (int i = 1; i <= 1; i++) {
                            // 内层循环代表 `自转`
                            for (int j = 1; j <= 365; j++) {
                                    System.out.println("地球完成了第"+j+"次自转.");
                            }
                            System.out.println("地球完成了第"+i+"次公转.");
                    }
                    
            }
    }
使用场景说明 : 如果说我们要完成一件事情的同时, 需要让另一件事情完成所有次, 这个时候我们就可以使用嵌套循环.


4. while 循环
while 循环语法格式 :
    while (condition) {
        statements;
    }
说明 :  while 循环一般使用在循环次数未知的场景下.
穷举 : 一个一个试, 效率最低, 也是最笨的方式.
案例 : 有一个人买了一筐鸡蛋, 至少有两个, 两个两个数, 多一个, 三个三个数, 也多一个, 四个四个数, 还是多一个, 请问: 至少有几个鸡蛋 ?
    public class WhileDemo7 {
            public static void main(String[] args) {
                    
                    // 1. 定义最少个数的鸡蛋数量
                    int egg = 2;
                    
                    // 2. while 死循环
                    while (true) {
                           
                            // 3. 判断, 当前的鸡蛋个数是否满足需求
                            if (egg % 2 == 1 && egg % 3 == 1 && egg % 4 == 1) {
                                    
                                    // 4. 一旦条件成立, 输出鸡蛋的最少个数
                                    System.out.println("egg = " + egg);
                                    
                                    // 5. 使用break跳出循环
                                    break;
                            }
                           
                            // 6. 每判断完毕一次, 就需要修改鸡蛋的个数, 继续循环
                            egg++;
                    }
            }
    }

5. do-while 循环
do-while循环和while循环的区别 :
1. 如果条件成立, 两者之间没有任何区别.
2. 如果条件不成立. while循环一次都不会执行, do-while循环会 至少 执行一次, 甚至可能由于那一次条件成立, 造成程序的死循环.

    public class DoWhileDemo8 {
            public static void main(String[] args) {
                  
                    int x = 10;
                    while (x > 10) {
                            System.out.println("小心翼翼 while 循环 : x = " + x);
                            x++;
                    }
               
                    int y = 10;
                    do {
                            System.out.println("先斩后奏 do-while 循环 : y = " + y);
                            y++;        // 造成死循环. 不安全, 一定要小心
                    } while (y > 10);
            }
    }

执行流程图解 :




3 个回复

倒序浏览
我来占层楼啊   

评分

参与人数 1技术分 +5 黑马币 +5 收起 理由
上海分校-小影 + 5 + 5 很给力!

查看全部评分

回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马