编程基础4

6. 流程控制语句 p41~p58

定义:控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。

6.1 顺序结构

定义:程序从上到下逐行地执行,中间没有任何判断和跳转。

知识:Java中定义变量时采用合法的 前向引用 如:

public static void main(String[] args) {
	int num1 = 12;
	int num2 = num1 + 2;
}

错误形式如下:num1 未定义便参与运算

public static void main(String[] args) {
	int num2 = num1 + 2;
	int num1 = 12;
}

思考:顺序结构是最简单的流程控制语句

6.2 分支结构

定义:根据条件,选择性地执行某段代码。

类别:有 if…elseswitch-case 两种分支语句。

知识:

6.2.1 if-else 条件判断结构

注意:以下条件表达式必须是 布尔表达式(关系表达式或逻辑表达式)或 布尔变量,如果是 true 就执行语句块;如果是 false 就不执行语句块

  • 代码如下:
if (条件表达式1) {
  	语句块1;
} else if (条件表达式2) {
  	语句块2;
}
...
}else if (条件表达式n) {
 	语句块n;
} else {
  	语句块n+1;
}

思考 :当条件表达式之间是“互斥”关系时,不影响语句的执行; 当条件表达式之间是“包含”关系时,则须遵守 “小上大下” 的原则,否则范围小的条件表达式将不可能被执行。

6.2.2 switch-case选择结构

执行过程:

  1. 根据 switch 中表达式的值,依次匹配各个 case 。如果表达式的值等于某个 case 中的常量值,则执行对应 case 中的执行语句。

  2. 执行完此case的执行语句以后:

    如果遇到break,则执行break并跳出当前的switch-case结构;

    如果没有遇到break,则会继续执行当前case之后的其它case中的执行语句。(case穿透)

  • 代码如下:
switch(表达式){
    case 常量值1:
        语句块1;
        //break;
    case 常量值2:
        语句块2;
        //break; 
    // ...
   default:
        语句块n+1;
        break;
   ]
}

注意:

  • switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);

  • case子句中的值必须是常量,不能是变量名或不确定的表达式值或范围;

  • 同一个switch语句,所有case子句中的常量值互不相同。

利用 case 的穿透性,可以同时执行多个分支

6.3 循环结构

定义:根据循环条件,重复性的执行某段代码。

类别:有 forwhiledo-while 三种循环语句。

循环结构四要素:1初始化部分 2循环条件部分 3循环体部分 4迭代部分

知识:

6.3.1 for 循环

  • 语法格式
for(初始化语句①; 循环条件语句②; 迭代语句⑦) {
    for(初始化语句③; 循环条件语句④; 迭代语句⑥) {
      	循环体语句⑤;
    }
}

6.3.2 while 循环

  • 语法格式
①初始化部分
while(②循环条件部分){
    ③循环体部分;
    ④迭代部分;
}

6.3.3 do-while 循环

  • 语法格式
①初始化部分;
do{
	③循环体部分
	④迭代部分
}while(②循环条件部分); 

思考:

1、我们可以在循环中使用break。一旦执行break,就跳出当前循环结构。

2、小结:如何结束一个循环结构?

​ 结束情况1:循环结构中的循环条件返回false

​ 结束情况2:循环结构中执行了break。

  • 三种循环结构 如何选择?

    • 遍历有明显的循环次数(范围)的需求,选择for循环
    • 遍历没有明显的循环次数(范围)的需求,选择while循环
    • 如果循环体语句块至少执行一次,可以考虑使用do-while循环
  • break 和 continue 的区别:

    • break:一旦执行,就结束(或跳出) **当前 **循环结构
    • continue:一旦执行,就结束(或跳出) 当次 循环结构

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值