Day6 内容梳理:
1、Chapter 4 程序运行结构:4.0 概述,4.1 条件判断语句(if/switch),4.2循环语句(while/for)
Chapter 4 程序运行结构
4.0 概述
基本的3种程序运行结构:
①顺序结构:程序按顺序执行,不发生跳转
②选择结构:按是否满足条件,执行相对应的代码
③循环结构:按是否满足条件,循环多次执行对应的代码
4.1 条件判断语句(if和switch)
流程:开始→判断条件→条件为真→执行语句→结束
→若条件为假→结束
(1)if语句
常用形式:if,if-else,if-else if-else (PS:else{}部分均可省略)
❗注意:if相关的语句只会执行满足条件的第一个条件分支。(与没写break的switch语句不同)
以下图为例,输入的98满足所有区间的条件,但是只会输出第一个满足的分支,并结束条件语句。
补充:条件嵌套
条件语句中,只有if相关的语句可以嵌套,switch无法嵌套。
if中嵌套if,例子如下:
(2)switch语句
格式:
switch(表达式得到一个值){
case 值1:
表达式1;
break;
case 值2:
表达式2;
break;
中间省略……
default:
表达式 n;
break;
}
❗每一个case写完都得加break,否则会连续往下执行case,而非执行完一个就退出。
没加break的反面例子:
⭐(3)if和switch的比较
if语句 | switch语句 | |
条件判断的范围 | 区间(大于/小于/等于/不等于) | 单值 |
条件语句能否嵌套 | 能,if里面还能再套if | 不能 |
效率 | 慢 (因为需要从上往下逐个条件判断是否成立) | 快 (因为可通过case的值直接索引到具体分支) |
总而言之,如果是区间或多条件,建议选if语句;如果是单值且数量少,建议选switch语句。
❗补充知识点:三目运算符
格式:表达式a ? 表达式b : 表达式c
含义:表达式a若为真,则返回表达式b的值作为结果;a为假则返回c作为结果。
例子:
优点:可简化一些基础的条件判断语句,但不适合嵌套、多值选择。
4.2 循环语句(while和for)
多次执行同一块代码,直至条件不满足。如果条件始终满足,则进入了死循环。
(1)while语句
while语句 | do while语句 | |
代码格式 | while(条件判断){ 表达式; } | do{ 表达式; }while(条件判断); |
区别 | 先进行条件判断, 成立则执行代码,不成立则跳出while循环 | 先执行代码, 执行完再进行条件判断 |
(2)for语句
格式:
for(定义初始值; 条件判断; 范围约束){
表达式;
}
例子:
第一个写法较常用,第二个写法只是把for中的定义初始值、范围约束放到了其他位置上。
❗注意:
①for中多变量、多条件的写法:
注意区分逗号,和分号;
逗号用于区分不同变量的取值。分号则加在for的定义初始值、条件判断、范围约束之间。
例子:
②for中嵌套循环的写法:
以九九乘法表的代码为例: