控制语句

控制语句分为三类:顺序语句,选择语句和循环语句。

1. if条件判断结构

1.1if单分支结构

语法结构:

  • if中的“条件表达式”返回的数据类型必须是boolean类型。
  • 当“条件表达式”返回的结果为true时,才会执行if{}中执行的代码
  • “选择执行”也包含在“顺序执行”中的。

1.2 if双分支结构

语法

  • if中的“条件表达式”返回的数据类型必须是boolean类型。
  • 当“条件表达式”为true时,执行if{}中的代码;当“条件表达式”为false时,执行else{}中的代码。
  • if双选结构,有且只能执行一个{}中的代码。

1.3 if多分支结构

语法

  • if中的“条件表达式”返回的数据类型必须是boolean类型。
  • 如果if中某一个“条件表达式”成立,则执行该if{}中的代码,该if{}中的代码执行完毕后执行if多选结构之后的代码
  • 如果if中所有的“条件表达式”都不成立,则执行else{}中的代码。
  • 一个完整的多选结构,有且只能执行一个{}中的代码。
  • if, 不能省略,有且只能有一个;else if, 可以省略,可以有任意多个。else, 可以省略,最多只能有一个。

1.4总结

  1. 如果if选择结构只需执行一条语句时,那么可以省略{};如果需要执行多条语句,那么就是不能省略{}。为了提高代码的易读性,建议不要省略{}。
  2. {}中的代码语句也称为代码块,在代码块定义的常量或变量的作用域仅限于代码块中,在代码块之外不能被使用。
  3. 能用if多选择结构就不要用if单选择结构,因为if多选择结构的效率要高于if单选择结构。
  4. 在if选择结构中还可以嵌套别的选择结构或循环结构。

2. switch多分支结构

语法

  • switch中的“表达式”必须是:byte、short、int、 char、String(JDK7)、枚举(后面学习)。
  • case后面接的必须是常量,不允许是变量。case后面的常量的数据类型必须和“表达式”的数据类型保持一致switch中的case后面不能是条件判断|区间判断,因为“表达式”不支持boolean类型。在同一个switch结构中,case后面不允许有相同的常量值。
  • 执行break语句,作用就是用于跳出switch语句。
  • 当switch选择结构中所有的case都不匹配的时候,才会执行default中的语句。(switch中的case和default不区分先后顺序。)

总结:当条件表达式是等值判断的情况,可以使用 if-else if-else 多分支结构或者 switch 结构,如果条件表达式是区间判断的情况,则只能使用 if-elseif-else 多分支结构。

3. for循环结构

语法结构:
for(循环初始化表达式; 循环条件表达式; 循环后的操作表达式) {// 循环体
}

for循环执行顺序总结:

  • "循环初始化表达式”最先执行,并且只执行了一次。
  • 如果“循环条件表达式”成立,则执行循环体;如果“循环条件表达式”不成立,则跳出循环。
  • “循环体”执行完毕以后,立刻执行“循环后的操作表达式”
  • “循环后的操作表达式”执行完毕以后,立刻执行“循环条件表达式”

注意:

  • 在“循环初始化表达式”中声明的“循环变量”属于局部变量,只能在当前循环中使用。
  • 最后一趟循环执行完毕以后,会立刻执行“循环后的操作表达式”,然后再执行“循环条件表达式”。
  • 如果想要在循环体中操作同一个变量,那么应该把该变量声明放在循环之外(前面),这样在循环体中使用的就是同一个变量了
  • 循环条件表达式”返回的结果必须是boolean类型,如果省略“循环条件表达式”那么默认值为true。

4.while循环

语法:
while(循环条件表达式) {// 循环体
}

当“循环条件表达式”为true时,即执行循环体。

注意:

  • 当while循环体执行完毕,会直接跳转去执行判断“循环条件表达式”是否成立,如果成立则执行“循环体”,否则跳出循环 。
  • 在while循环中,“循环后的操作表达式”放的位置不同,难么最终输出的结果也会不一样!

4.1 while与for的区别

for循环能做的事情while循环都可以实现,使用循环的时候for和while都可以选择。

建议以下条件使用while循环:

  • 循环结束后循环变量还需要参与运算,那么建议使用while循。
  • 不确定循环次数的时候,建议使用while循环。

5. do...while循环

语法:do {// 循环体
} while(循环条件表达式);

对比while循环,do...while循环时“先执行,后判断”。

死循环:循环一直执行,永远无法停止。for(;;){} while(true){}

6. break、continue、return

6.1 break关键字

适用场合:switch、循环(for、while、do...while)

break的作用:

在switch中使用,跳出switch语句,执行switch语句之后的代码。

在循环中使用,用于跳出当前循环,后续循环不再执行。执行循环外的代码。

6.2 continue关键字

使用场合:只能在循环中使用(for循环、while循环、do...while循环)

continue的作用:

跳出本趟循环,继续执行后续循环。

6.3 return关键字

return的作用:1、结束当前方法。2、返回一个值

break与return的不同点:break跳出循环,执行循环外的代码。return跳出方法,不执行后续代码。

注意:在break、continue和return关键字后面不要书写任何代码,因为书写的代码无法执行。

6.4 带标签的break,continue

步骤:

第一步:给外侧循环取一个名字, Outer:for(int i = 1; i < 10; i++) {}

第二步:在需要跳出循环的位置,书写代码为:break Outer;

Outer:

建议:带标签的break,continue在开发中一般不去使用。

7. 嵌套循环

嵌套循环:在一个循环语句内部再嵌套一循环或多个循环

//外侧循环,控制行数,
for(int i = 1;i <= 9;i++){//内侧循环,控制列数(每一行有多少列)//内侧循环里i执行一次,j做一个循环。for(int j = 1;j <= i;j++){System.out.print(j + "*" + i + "=" + j*i + "t");}System.out.println();
}

  • while、do-while与for循环可以任意嵌套多层。
  • 多重循环执行过程:外层循环变量变化一次,内层循环变量要变化一遍 。

break后面的语句还执行吗_流程控制语句相关推荐

  1. break后面的语句还执行吗_【自学C#】|| 笔记 5 条件语句if、switch

    一.条件语句 也就选择语句,判断语句. 有三种形式. 1. 单一条件的 if 语句 表现形式: if(布尔表达式)         {             语句块;         } 例: in ...

  2. continue后面的语句还执行吗_循环结构辅助控制语句

    break与continue是辅助控制语句, 二者的用法如下表所示. 循环语句 一般形式 作      用 break语句 break: switch语句中使用break语句跳出switch结构,结束 ...

  3. break后面的语句还执行吗_12.python之配合循环的四种语句

    上节课讲了配合循环语句使用的布尔值和布尔运算,为了能够更好地使用循环语句,本节课会讲述四种能够配合循环语句使用的语句,分别是break语句.continue语句.pass语句.else语句. 一.br ...

  4. for语句的执行过程_深入学习MySQL 01 一条查询语句的执行过程

    在学习SpringCloud的同时,也在深入学习MySq中,听着,,看着<高性能MySQL>,本系列文章是本人学习过程的总结,水平有限,仅供参考,若有不对之处或有啥建议都可与我联系,感谢! ...

  5. for语句的执行过程_带你深入了解Java流程控制语句

    概述 在一个程序执行的过程中,程序的流程对运行结果有直接的影响的.只有在清楚每条语句的执行流程的前提下,才能通过控制语句的执行顺序来实现我们想要的结果. 顺序结构 程序中最简单.最基本的流程控制,没有 ...

  6. sql语句的执行顺序以及流程(最新,最全,直接用)

    熟练掌握sql语句的执行顺序,才能避免编程中各种bug和错误. 文章目录 一.Select 语句完整的执行顺序 1.from 子句组装来自不同数据源的数据+(ON过滤器)或(JOIN 添加外部行): ...

  7. SQL语句的执行顺序以及流程

    目录 1.执行FROM语句 2.执行ON过滤 3.添加外部行 4.执行WHERE过滤 5.执行GROUP BY分组 6.执行HAVING过滤 7.SELECT列表 8.执行DISTINCT子句 9.执 ...

  8. javascript基本语法(输入输出语句,变量常量,数据类型,运算符,流程控制语句,数组,函数)

    javascript javascript介绍 JavaScript 是一种客户端脚本语言.运行在客户端浏览器中,每一个浏览器都具备解析 JavaScript 的引擎. 脚本语言:不需要编译,就可以被 ...

  9. JS基础_流程控制语句

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 < ...

最新文章

  1. 计算机网络技术在农业中的应用,计算机网络技术在农业节水灌溉系统中的运用——评《计算机网络技术与应用实践》...
  2. 2017年10月05日普及组 约数
  3. 电脑睡眠快捷键_电脑学习:苹果电脑快捷键
  4. 解决SWFUpload在Chrome、Firefox浏览器下session找不到的问题
  5. C/C++编程笔记:C/C++ 的编译和链接
  6. COG云原生优化遥感影像,瓦片切分的应用实践
  7. mysql 编辑 条目,mysql函数:将旧条目旋转到归档表
  8. pytorch view()函数
  9. RDD与DataFrame
  10. MATLAB将界面语言由中文改成英文
  11. Altium Designer20 PCB封装库制作
  12. Profinet简介
  13. 51单片机Proteus仿真+Keil工程-实验5-单片机串行口中断实验
  14. 国外60个专业3D模型网站
  15. 【转载】巴菲特:比能力更重要的是靠谱
  16. 上板子在线抓波发现app_rdy一直为低
  17. https://wenku.baidu.com/view/35c88b375acfa1c7aa00ccca.html--swot
  18. “无论我们多么固执地渴求着对称和永恒,时间总是在不断制造着世间种种的不对称、不可逆以及死亡”。...
  19. 吴恩达深度学习笔记-布置机器学习项目(第4课)
  20. 手机系统版本android 8,手机如何升级到安卓8.0系统?对手机有要求吗?

热门文章

  1. Android中下载进度条格式,Android开发如何实现文件下载进度条
  2. python子进程通信_python执行子进程实现进程间通信的方法
  3. php框架升级,【PHP开发框架】thinkphp怎么升级
  4. java juel表达式_activiti 自定义函数解析juel表达式
  5. nessus安装后进不去了_Centos7安装图形化界面
  6. linux遍历文件夹下所有文件大小,Linux系统遍历文件夹 获取文件大小的操作(C语言实现)...
  7. 2021年第十六届智能车竞赛线上决赛之前大家的提问
  8. 全国大学生智能汽车竞赛-百度线下赛道报名开始!
  9. 2021年春季学期-信号与系统-第七次作业参考答案-第六小题
  10. 2021年春季学期-信号与系统-第一次作业参考答案-第六题