一、流程控制结构
流程图:逐步解决指定问题的步骤和方法的一种图形化表示方法
流程图直观、清晰地帮组我们分析问题或设定解决方案,是程序开发人员的好帮手。流程图使用一组预定义的符号来说明如何执行特定的任务。
在Java中有3种流程控制结构:顺序结构、选择结构、循环结构
1.顺序结构:顺序结构是指程序从上向下依次执行每条语句的结构,中间没有任何的判断和跳转,前面的示例都采用顺序结构。
2.选择结构:选择结构是根据条件判断的结果来选择执行不同的代码。选择结构可以细分为单分支结构、双分支结构和多分支结构。Java提供了 if 控制语句、switch 语句来实现选择结构。
3.循环结构:循环结构是根据判断条件来重复性地执行某段代码。Java提供了while 语句、do-while 语句、for 语句来实现循环结构
二、选择结构
if 控制语句共有 3 种不同的形式,分别是单分支结构、双分支结构和多分子结构。
if 语句的语法格式如下:
if 是Java关键字
表达式是布尔类型的表达式,其结果为 true 或 false
if 语句的执行步骤如下:
01.对表达的结果进行判断
02.如果表达式的结果为真,则执行该语句
03.如果表达式的结果为假,则跳过该语句
1:
请实现如果成绩大于等于60分,则输出"成绩及格,通过考试。"。
if-else 语句的语法如下:
if-else 语句的执行步骤如下:
01.对表达式的结果进行判断
02.如果表达式的结果为true,则执行语句1
03.如果表达式的结果为false,则执行语句2
2:
请实现如果成绩大于等于60分,则输出“成绩及格,通过考试”;否则输出“成绩不合格。”
当有多个条件判断时,需要使用多分支 if 语句解决。
多分支 if 语句的语法格式如下:
其中 else if 语句可以有多个。
多分支 if 语句的执行步骤如下:
01.表达式1的结果进行判断
02.如果表达式1 的结果为 true,则执行语句1;否则判断表达式2
03.如果表达式2 的结果为 true,则执行语句2;否则执行语句3
3:
如果成绩大等于90分且小于等于100分,输出“A级” ,否则如果大于等于80分,输出“B级”,否则如果大于等于70分,输出“C级”,否则如果大于等于60分,输出“D级”,低于60分输出“E级”。
在 if 控制语句中又包含一个或多个 if 控制语句的称为嵌套 if 控制语句。嵌套 if 控制语句可以通过外层和内层语句的协作,来增强程序的灵活性。
嵌套 if 控制语句的语法格式如下:
嵌套 if 控制语句的执行步骤如下:
01.对表达式1 的结果进行判断。
02.如果表达式1 的结果为 true,再对表达式2 的结果进行判断。如果表达式2 的结果为 true,则执行语句1,否则,执行语句2。
03.如果表达式1 的结果为 false,对表达式3 的结果进行判断。如果表达式3 的结果为 true,则执行语句3,否则,执行语句4。
4:
请实现如果今天是周六,则准备外出。如果气温再30℃以上,去游泳;否则就去爬山。
如果今天不是周六或周日,就要去工作。如果天气好,去客户单位谈业务;否则在公司上网查资料。
Java还提供了 switch 语句,用于实现多分支选择结构。它和多分支 if 控制语句结构在某些情况下可以相互替代。
switch 语句的语法如下:
switch、case、break、default 是Java关键字。
switch 后的表达式只能是整型、字符型或枚举类型
case 用于与表达式进行匹配
break 用于终止后续语句的执行,跳出 switch 结构
default 是可选的,当其他条件都不匹配时执行 default
switch 语句的执行步骤如下:
01.计算switch 后表达式的值
02.将计算结果从上至下依次于 case 后的常量值比较
03.如果相等就执行该常量后的代码块,遇到 break 语句就结束
04.如果于任何一个 case 后的常量值都不匹配,就执行 default 中的语句
5:
如果成绩大等于90分且小于等于100分,输出“A级” ,否则如果大于等于80分,输出“B级”,否则如果大于等于70分,输出“C级”,否则如果大于等于60分,输出“D级”,低于60分输出“E级”。
注意:
01.如果需要每个case执行完后跳出,在每个case后不要忘记写break。
02.case后的常量不能相同
03.default块的顺序可以变动,但要注意其执行顺序。通常,default 块放在末尾,也可以省略