前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >04-程序流程控制(下卷)

04-程序流程控制(下卷)

作者头像
软件小生活
发布2021-08-16 10:37:19
2580
发布2021-08-16 10:37:19
举报
文章被收录于专栏:软件小生活

2.循环结构

需求:

请在控制台 输出10次:在操场跑步!!!!

请在控制台输出 100次: 在操场跑步!!!!

请在控制台 10000次: 在操场跑步!!!!

2.1.介绍

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

2.2.循环语句的组成

初始化语句:

一条或者多条语句,这些语句完成一些初始化操作。

判断条件语句:

这是一个boolean 表达式,这个表达式能决定是否执行循环体。

循环体语句:

这个部分是循环体语句,也就是我们要多次做的事情。

控制条件语句:

这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

2.3.循环结构的分类

for 循环

while 循环

do-while 循环

2.4.for循环

2.4.1.基本格式

for循环语句格式:

for(初始化语句;判断条件语句;控制条件语句) {

循环体语句;

}

执行流程:

A:执行初始化语句

B:执行判断条件语句,看其结果是true还是false

如果是false,循环结束。

如果是true,继续执行。

C:执行循环体语句

D:执行控制条件语句

E:回到B继续

图解:

2.4.2.基本使用

2.4.3.for循环的注意事项

判断条件语句的结果是一个boolean类型

循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。

一般来说:有左大括号就没有分号,有分号就没有左大括号

2.4.4.for循环的练习题

请在控制台输出数据1-10

请在控制台输出数据10-1

求出1-10之间数据之和

求出1-100之间偶数和

求出1-100之间奇数和

求5的阶乘

在控制台输出所有的”水仙花数”[n1]

统计”水仙花数”共有多少个

2.5.while循环

2.5.1.基本格式

while循环语句格式:

基本格式:

while(判断条件语句) {

循环体语句;

}

扩展格式:[n2]

初始化语句;

while(判断条件语句) {

循环体语句;

控制条件语句;

}

图解:

2.5.2.基本使用

代码语言:javascript
复制
  publicstaticvoid main(String[] args) {
  /**
          *
          * while(判断条件语句) { 循环体语句
          *
          * 控制条件语句 }
          *
          * 升级版
          *
          * 初始化语句 while(判断条件语句) { 循环体语句
          *
          * 控制条件语句
          *
          * }
          */
  for (inti = 1; i <= 10; i++) {
              System.out.println("i:" + i);
         }
         System.out.println("=================================");
  inti = 1;
  while (i <= 10) {
              System.out.println("i2:" + i);
  i++;
         }
     }

2.5.3.while循环练习

1)输出10次HelloWorld案例

2)求出1-100之和

3)统计水仙花数有多少个

2.5.4.while循环和for循环的区别

for循环语句和while循环语句可以等价转换,但还是有些小区别的

使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。

原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

代码实战:

代码语言:javascript
复制
  for(intx=0;x<10;x++)
     {
         System.out.println("*");
     }
     System.out.println(x);
     System.out.println("============================");
  inty = 0;
  while(y<10)
     {
         System.out.println("*");
  y++;
     }
     System.out.println(y);
}

【场景区别】:

for循环适合针对一个范围判断进行操作

while循环适合判断次数不明确操作

2.6.do-while循环

do-while 是 while 的变种!!

2.6.1.do-while的格式

do…while循环语句格式:

基本格式

do{

循环体语句;

}while((判断条件语句);

扩展格式

初始化语句;

do{

循环体语句;

控制条件语句;

}while((判断条件语句);

图解:

2.6.2.do-while的基本使用

代码语言:javascript
复制
publicstaticvoid main(String[] args) {
  intx = 0;
  do {
              System.out.println("我来了!!");
  x++;
         } while (x < 10);
         System.out.println("x:" + x);
     }

2.6.3.do-while的练习

A:输出10次HelloWorld案例

B:求出1-100之和

C:求出水仙花的个数

2.7.三种循环的区别

三种循环语句其实都可以完成一样的功能,也就是说可以等价转换,但还是有小区别的:

do…while循环至少会执行一次循环体。

for循环和while循环只有在条件成立的时候才会去执行循环体

代码实战:

代码语言:javascript
复制
publicclass Demo3 {
  publicstaticvoid main(String[] args) {
  intx = 10;
  while (x < 5) {
              System.out.println("女神我爱你,么么哒~~~");
  x++;
         }
         System.out.println("=====================");
  inty = 10;
  do {
              System.out.println("女神我爱你,么么哒~~~");
  x++;
         } while (x < 5);
         System.out.println(y);
     }
}

注意事项:

写程序优先考虑for循环,再考虑while循环,最后考虑do…while循环。

如下代码是死循环

while(true){}

for(;;){}

2.8.循环嵌套使用

需求:请输出一个5行6列的星星(☆)图案。

需求:请输出如下图形

*

**

***

****

*****

需求:在控制台输出九九乘法表。

需求1代码实战:

代码语言:javascript
复制
for(inti=0;i<6;i++)
   {
         System.out.print("*");
   }
   System.out.println();
  for(inti=0;i<6;i++)
   {
         System.out.print("*");
   }
   System.out.println();
  for(inti=0;i<6;i++)
   {
         System.out.print("*");
   }
   System.out.println();
  for(inti=0;i<6;i++)
   {
         System.out.print("*");
   }
   System.out.println();
  for(inti=0;i<6;i++)
   {
         System.out.print("*");
   }

改进版:

代码语言:javascript
复制
publicstaticvoid main(String[] args) {
  for(intx=0;x<5;x++)
     {
  for(inty=0;y<6;y++)
         {
              System.out.print("☆");
         }
         System.out.println();
     }
}

如下图:

2.9.跳转控制语句

2.9.1.概述

前面我们已经说过了,Java中的goto是保留字,目前不能使用。虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情。为了弥补这个缺陷,Java就提供了breakcontinuereturn来实现控制语句的跳转和中断。

2.9.2.分类

break 中断

continue 继续

return 返回

3.0跳转语句-break

3.0.1.简介

break的使用场景:

在选择结构switch语句中

在循环语句中(循环语句中加了if判断)

离开使用场景的存在是没有意义的[n3]

break的作用:

跳出单层循环

跳出多层循环

带标签的跳出

格式:标签名: 循环语句

标签名要符合Java的命名规则

3.0.2.break实战

跳出单层循环

代码语言:javascript
复制
publicstaticvoid main(String[] args) {
  for (intx = 0; x < 10; x++) {
  if (x == 2) {
  break;
              }
              System.out.println("哈哈哈");
         }
     }

break 只表示跳出当前循环

跳出多层循环

代码语言:javascript
复制
for(inti=0;i<3;i++)
  {
  for(intj=0;j<4;j++)
       {
 if(j==2)
            {
 break;
            }
            System.out.print("☆");
       }
        System.out.println();
  }

如果此时非要跳出外层的循环?也就是说想要跳出多层循环

带标签的跳出

代码语言:javascript
复制
publicstaticvoid main(String[] args) {
         waiceng: for (inti = 0; i < 3; i++) {
  neiceng: for (intj = 0; j < 4; j++) {
  if (j == 2) {
  // break;
  break waiceng;
                   }
                   System.out.print("☆");
              }
              System.out.println();
         }
     }

3.1.跳转语句-continue

3.1.0.概述

continue的使用场景:

在循环语句中

离开使用场景的存在是没有意义的[n4]

continue的作用:

单层循环对比break,然后总结两个的区别

break 退出当前循环,循环就不再执行了[n5]

continue 退出本次循环,进入下一次(后面)的循环[n6]

也可以带标签的使用(不演示了)

3.1.1.基本使用

代码语言:javascript
复制
publicstaticvoid main(String[] args) {
  for (inti = 0; i <= 10; i++) {
  if (i == 2) {
  break;
              }
              System.out.println("i:" + i);
         }
         System.out.println("---------------------------");
  for (inti2 = 0; i2 <= 10; i2++) {
  if (i2 == 2) {
  continue;
              }
              System.out.println("i2:" + i2);
         }
     }

观察结果:


[n1]水仙花数

所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

举例:153就是一个水仙花数。

153= 1*1*1 + 5*5*5 + 3*3*3

[n2]写完扩展格式,我们就可以说while循环语句讲解完毕。因为它和for循环是可以等价转换的

[n3]不能单独使用

[n4]不能单独使用

[n5]结束整个循环

[n6]只退出本一次循环,后面的循环继续执行

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件小生活 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.循环结构
    • 2.1.介绍
      • 2.2.循环语句的组成
        • 2.3.循环结构的分类
          • 2.4.for循环
            • 2.4.1.基本格式
            • 2.4.2.基本使用
            • 2.4.3.for循环的注意事项
            • 2.4.4.for循环的练习题
          • 2.5.while循环
            • 2.5.1.基本格式
            • 2.5.2.基本使用
            • 2.5.3.while循环练习
            • 2.5.4.while循环和for循环的区别
          • 2.6.do-while循环
            • 2.6.1.do-while的格式
            • 2.6.2.do-while的基本使用
            • 2.6.3.do-while的练习
          • 2.7.三种循环的区别
            • 2.8.循环嵌套使用
              • 2.9.跳转控制语句
                • 2.9.1.概述
                • 2.9.2.分类
              • 3.0跳转语句-break
                • 3.0.1.简介
                • 3.0.2.break实战
              • 3.1.跳转语句-continue
                • 3.1.0.概述
                • 3.1.1.基本使用
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档