A005_循环结构

内容介绍

循环结构while【掌握】
循环结构do-while【掌握】
循环结构for【重点掌握】
嵌套循环【了解】
循环控制语句【掌握】

4.循环结构

4.1 循环定义

**定义:**循环是计算机科学运算领域的用语,也是一种常见的控制流程。循环是一段在程序中只出现一次,但可能会连续运行多次的代码。循环中的代码会运行特定的次数,或者是运行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都运行一次。
可以理解位重复的去执行某件事情,但需要有一个终止条件,否则会形成死循环,导致内存溢出;

4.2 循环分类
4.2.1 while循环

基本语法
while(循环条件){
​ 执行语句;
}
**循环条件:**布尔类型的值或者表达式,需要不断变化,如果是一个常量或者固定不变的值,则称为没有意义的循环或者死循环;
**执行语句:**当循环条件为true时执行语句,false终止循环,不执行语句
执行流程:

  1. 第一次判断条件true,继续执行
  2. 第二次判断条件true,继续执行
  3. 第三次判断条件true,继续执行
  4. 。。。。。
  5. 直到第n次判断条件false,终止循环
    示例:
/*打印1到10之间的数字*/
int i = 1;
while(i<11){
    System.out.println(i);
    i++;
}
/*打印1到10之间的偶数*/
int j = 1;
while(i<11){
    if(j%2==0){
        System.out.println(j);
    }
    j++;
}
4.2.2 do…while循环

基本语法:
do{
执行语句;
}while(循环条件);

**循环条件:**布尔类型的值或者表达式,需要不断变化,如果是一个常量或者固定不变的值,则称为没有意义的循环或者死循环;

**执行语句:**当循环条件为true时执行语句,false终止循环,不执行语句
执行流程

  1. ​ 首先执行do后面结构体中的执行语句
  2. ​ 判断循环条件是否为true,如果true,执行do后执行语句,如果为false终止循环
    示例:
/*打印1到10之间的数字*/
int i =1;
do{
    System.out.println(i);
    i++;
}while(i<11);

练习:
1.求出10以内2的倍数的数字 和 个数。
2.求出 1-10的所有偶数的和

4.2.3 for循环

基本语法:
for(初始化条件A;判断条件B;循环后语句C){
​ 执行语句D;
}
初始化条件A:初始化一个值,用来作为B中的判断条件
判断条件B:布尔类型的值或者表达式
循环后语句C:循环后执行的代码,目的是为了改变初始条件A的值,使B中条件不是一个固定的值
执行语句D:当B中的判断条件满足,为true执行D,false,则不执行
执行流程:
第一次:A–》B(true)–》D–》C
​ 第二次: B(true)–》D–》C
​ 第三次: B(true)–》D–》C
​ …
​ 第n次: B(false) 结束整个循环
示例:

/*打印1到10之间的数字*/
for(int i=1;i<11;i++){
    System.out.println(i);
}

注意事项:
1.特殊写法:

/*死循环*/
for(;;){
    System.out.println("Hello");
}

2.初始条件中变量的作用域

/*打印1到10之间的数字*/
for(int i=1;i<11;i++){
    System.out.println(i);
}
System.out.println(i);//报错,i只作用于循环结构体中

练习:
1.用for循环计算1-10的 积(即10的阶乘)
2.以下两个示例中 最后i的值是多少 判断执行了几次 循环几次 代码的最终的输出结果是多少?
(1)

for(int i = 1;i<=10;i+=2){
System.out.println("i="+i);
}

(2)

for(int j = 1;j++<=10;j+=2){
	System.out.println("j="+j);
}
4.3 嵌套循环

顾名思义,嵌套循环指的是循环中嵌套一个循环;但最好嵌套不要超过两层,效率太低;

        /*需求:需要打印五行*每行五颗 */
        System.out.println("*****");
        System.out.println("*****");
        System.out.println("*****");
        System.out.println("*****");
        System.out.println("*****");
//优化1
        for(int i=1;i<6;i++){
            System.out.println("*****");
        }
//优化2
        for(int j=1;j<6;j++){
            for(int i=1;i<6;i++){
                System.out.print("*");
            }
            System.out.println("");
        }
4.4 循环控制语句
4.4.1 定义

对整个循环流程进行控制,可提前终止或跳出循环

4.4.2 控制语句分类
4.4.2.1 break

**作用:**终止当前循环
示例:

/*  一个循环 如果循环中出现了6 则终止循环 后面的也不再执行*/
for(int i=1;i<8;i++){
    if(i==6){
        break;
    }
    System.out.println(i);
}
4.4.2.2 continue

**作用:**跳出当前循环
示例:

/*  一个循环 如果循环中出现了6 则跳过循环 后面的继续执行*/
for(int i=1;i<8;i++){
    if(i==6){
        continue;
    }
    System.out.println(i);
}
4.4.2.3 return

**作用:**终止当前方法
示例:

/*  一个循环 如果循环中出现了6  终止当前的方法 后面的循环也不会被执行 循环外面的语句也不会被执行到*/
for(int i=1;i<8;i++){
    if(i==6){
        return;
    }
    System.out.println(i);
}
System.out.println("www.itsource.cn");

5.课程总结

今天所学知识均为java课程中,非常常用的结构,在日后的工作中需要用到所学结构来处理相关逻辑问题,特别重要。切记每天负债,每天的知识及时消化吸收。

5.1 重点

for循环结构

5.2 难点

for循环结构的执行流程 嵌套循环

6.课后练习

1.今天所有的课堂代码
2.求出20以内3的倍数的数字和个数。
3.求1-5的 的阶乘和(1!+2!+3!+4!+5!)(用for实现)
4.10到30之间所有奇数的和(用for实现)。

7.面试题

return continue break三者的区别是什么?

8. 扩展知识与课外阅读推荐

9. 每日一练

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值