JAVA 流程控制

顺序控制
  • 介绍

程序从上往下进行,中间没有任何判断和跳转

  • 注意事项

java定义变量时采用向前引用。

public class Test{
    int num1 = 10;
    int num2 = num1 + 2;
}

错误形式

public class Test{
  int num2 = num1 + 2; // 错误
  int num1 = 10;
}
分支控制
  • 介绍

让程序有选择的执行,分为单分支,双分支,多分支

单分支
  • 基本语法

if (条件表达式){
    执行代码块;(可以有多条语句)
}
  • 说明:当条件表达式为真,执行{}内的代码,如果为假,则不执行,如果只有一条语句,可以不写{},建议写

  • 案例

If01.java

双分支
  • 基本语法

if (条件表达式){
    执行代码块1;(可以有多条语句)
}​else{      
    执行代码块2;(可以有多条语句)
}
  • 说明:当条件表达式为真,执行代码块1,如果为假,则执行代码块2,如果代码块只有一条语句,可以不写{},建议写

  • 案例

If02.java

  • 单分支和双分支练习

多分支if-else
  • 基本语法

if (条件表达式1){
    执行代码块1;(可以有多条语句)
}
else if(条件表达式2){
  执行代码块2;(可以有多条语句)
}
……
else{
  执行代码块n;(可以有多条语句)
}

  • 流程图

  • 说明

  1. 当表达式1成立,执行代码块1

  1. 表达式1不成立,才去判断表达式2是否成立

  1. 如果表达式2成立,执行代码块2,以此类推

  1. 所有表达式都不成立,执行最后的else代码块

  1. 注意:只能执行一个入口

  • 特别说明:多分枝可以没有else,如果所有条件都不成立,则一个执行入口都没有

  • 案例

If03.java

嵌套分支

在分支结构中又完整嵌套了另一个分支结构,里面的被称为内层分支,外面的被称为外层分支,嵌套尽量不要超过三成

  • switch分支结构

switch(表达式){
    case常量1:
        语句块1;
        break;
    case常量2:
        语句块2;
        break;
    ……
        语句块n;
        break;
    default:
        default语句块;
}

注意:

  1. switch关键字,表示switch分支

  1. 表达式对应一个值

  1. case 常量1:当表达式等于常量1,就执行后面的语句块

  1. break表示退出switch,没有的话就会继续执行后面的语句,无须判断后面的条件

  1. 如果case 常量1没有被匹配,就会尝试匹配常量二,直到最后

  1. 如果都没有,则执行default

  • 流程图

  • 案例

Switch01.java

  • 细节

  1. 表达式数据类型应和case后的常量类型一致,或是可以自动转换成相互比较的类型,比如输入的是字符,常量是int

  1. switch中的表达式返回值必须是:(byte,short,int,char,enum,String) 注意:不能是小数!

  1. case 子句中的值必须是常量或常量表达式,不能是变量

  1. default是可选的,当没有case时,执行default

  1. break语句用来在执行完成一个case时跳出switch语句块,没有break的话,程序会执行后面每一个case的语句块,除非再次遇到break。

  • 练习

  • if和switch比较

如果判断的具体数值不多,而且符合byte,short,int,char,enum[枚举],String这六种类型,虽然两个语句都可以用,建议使用switch语句。

其他情况:对于区间判断,对结果为布尔类型判断,使用if,if范围更广。

循环控制
for循环控制

可以让程序循环执行

  • 案例:

打印10句你好

For01.java

  • 基本语法:

for(循环初始化;循环条件;循环变量迭代){
    循环操作(语句);
}

说明:

  1. for表示循环控制

  1. for有四要素,1.循环变量初始化,2.循环条件,3.循环操作,4.循环变量的迭代

  1. 循环操作,可以有多条语句,也就是要循环的代码

  1. 如果循环操作只有一条语句,可以省略{},建议不要省略

  • 流程图

  • 细节与注意

  1. 循环条件是返回一个布尔值的表达式

  1. for(;循环条件;)中的初始化和变量迭代都可以写到其他地方,但是两边的分号不能省略

  1. 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开。

  • 练习

while循环

基本语法

循环变量初始化

while(循环条件){
    循环体;
    循环变量迭代;
}

while的四要素跟for性质一样,存放位置不同。

  • 流程图

  • 细节说明

循环条件是一个返回布尔值的表达式

while循环先判断再执行语句

  • 练习

do-while循环
  • 基本语法

循环变量初始化

do{
    循环体;
    循环变量迭代;
}while(循环条件);
  1. do while 是关键字

  1. 也有循环四要素,只是位置不一样

  1. 先执行再判断,一定至少执行一次

  1. 最后有一个分号

  • 流程图

  • 细节说明

循环条件是一个返回布尔值的表达式

do…while循环先执行再判断,因此至少执行一次

  • 练习

多重循环控制
  • 介绍

  1. 将一个循环放在另一个循环体内,形成嵌套循环,其中for,while,do…while都可以作为外层循环和内层循环。建议不要超过三层

  1. 实质上,嵌套循环就是把内层循环当成外层循环的循环体,只有内层循环条件为false时,才会跳出内层循环,才可以结束外层的一次循环。

  1. 设置外层循环次数是m次,内层是n次,则需要执行m*n次。

  • 应用实例

ForMulExecrise.java

Stars.java

break
  • 介绍

break语句用于终止某个语句块的执行,一般使用在switch或者循环中

  • 基本语法

{
    break;
}
  • 示意图

  • 案例

break01.java

  • 细节

break label1;
  1. break可以指定退出哪层

  1. label1是标签,由程序员指定

  1. break后指定到哪个label就退出到哪里

  1. 在实际开发中,尽量不要使用标签

  1. 如果没有指定,break默认退出当前的循环体

break02.java

  • 练习

continue
  • 介绍

  1. continue用于结束本次循环,继续执行下一次循环。

  1. continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这和前面的标签使用的规则一样。

  • 基本语法

{
    continue;
}
  • 示意图

  • 细节说明

跟break相似,也可以指定跳过对应标签的循环,但是和break作用不同

跳转控制语句return
  • 介绍

return使用在方法,表示跳出所在方法,如果写在main方法中,会退出程序。

作业

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值