文章目录
java流程控制语句-选择结构:
分支结构(重中之重)
分支结构的分类
-
顺序结构:
按照代码顺序依次执行
-
选择结构:
按照条件表达式来执行 如果条件满足 执行条件中的代码块 如果条件不满足 跳过该语句块 执行条件表达式后面的语句
-
循环结构
按照循环表达式来执行 只有满足条件表达式时 才跳出
-
三种的图示
分支结构的概念
-
理解
当需要进行条件判断并做出选择时,使用分支结构。
-
分支结构图示
选择分支结构
if 分支结构
-
if 分支结构的概念
if 语句表示如果条件成立,则执行某个操作
-
语法结构
if(条件表达式) { 语句块; }
-
图示表示
-
语法含义
判断条件表达式是否成立
=> 若成立,则执行语句块;
=> 若不成立,则跳过语句块;
-
代码演示
/* 编程使用if分支结构模拟网吧上网 */ import java.util.Scanner; public class IfTest{ public static void main(String[] args) { // 1.提示用户输入年龄信息并使用变量记录 System.out.println("请输入你的年龄"); Scanner sc = new Scanner(System.in); int age = sc.nextInt(); // 2.使用if分支判断是否成年 if(age >= 18){ // 3.输出结果信息 System.out.println("已为您开好11号机"); } if(age < 18){ System.out.println("对不起 你未满成年"); } } }
if else分支结构
-
if else分支结构概念
if……else条件语句是指如果满足某种条件,则进行某种处理,否则进行另一种处理。
-
语法结构
if(条件表达式) { 语句块1; } else { 语句块2; }
-
图示表示
-
语法含义
判断条件表达式是否成立
=> 若成立,则执行语句块1;
=> 若不成立,则执行语句块2;
-
代码演示
/* 使用if - else 分支结构模拟考试成绩判断 */ import java.util.Scanner; public class IfElseTest{ public static void main(String[] args) { // 1.提示用户输入考试成绩并使用变量记录 System.out.println("请输入你的考试成绩"); Scanner sc = new Scanner(System.in); int score = sc.nextInt(); // 2.使用if - else 判断考试成绩是否及格 if(score >= 60){ System.out.println("恭喜你通过了考试"); }else{ System.out.println("下学期来补考吧"); } // 3.打印一句话 System.out.println("世界上最遥远的距离"); } }
if else if else分支结构
-
语法结构
if(条件表达式1) { 语句块1; }else if(条件表达式2) { 语句块2; }else { 语句块n; }
-
图示表示
-
语法含义
判断条件表达式1是否成立
=> 若成立,则执行语句块1;
=> 若不成立,则判断条件表达式2是否成立
=> 若成立,则执行语句块2;
=> 若不成立,则执行语句块n;
-
代码演示
/* 编程实现if - esls if - else分支应用 实现出租车计费系统 */ import java.util.Scanner; public class IfTaxTest{ public static void main(String[] args) { // 1.提示用户输入公里数和等待的秒数 System.out.println("用户输入公里数和等待的秒数"); Scanner sc = new Scanner(System.in); int km = sc.nextInt(); int sec = sc.nextInt(); // 2.根据公里数计算对应的里程费并使用变量记录 int kmPrice = 0; if(km <= 3){ kmPrice = 10; }else if(km <= 15){ kmPrice = 10 + (km - 3) * 2; }else{ kmPrice = 10 + (km - 3) * 2 + (km - 15) *3; } // 3.根据等待的秒数计算对应的等待费并使用变量记录 int secPrice = sec / 150; // 4.计算并打印总费用 int sumPrice = secPrice + kmPrice; System.out.println("本次乘坐的总价格是: " + sumPrice); } }
switch case分支结构
-
语法结构
switch(变量/表达式) { case 字面值1: 语句块1; break; case 字面值2: 语句块2; break; ... default: 语句块n; }
-
图示表示
-
语法含义
计算变量/表达式的数值 => 判断是否匹配字面值1
=> 若匹配,则执行语句块1 => 执行break跳出当前结构
=> 若不匹配,则判断是否匹配字面值2
=> 若匹配,则执行语句块2 => 执行break跳出当前结构
=> 若不匹配,则执行语句块n
-
注意事项
- switch()中支持的数据类型有:byte、short、char以及int类型
- 从jdk1.5 开始支持枚举类型
- 从jdk1.7开始支持String类型
- case 穿透:Switch case 中 如果没有brake 会继续执行下面的代码 指导遇到 brake/default 才会停止
-
代码演示
/* 编程使用 Switch case 分支结构实现考试等级的判断 */ import java.util.Scanner; public class SwitchScoreTest{ public static void main(String[] args) { // 1.提示用户输入考试成绩并使用变量记录 System.out.println("请输入你的考试成绩"); Scanner sc = new Scanner(System.in); int score = sc.nextInt(); // 2.使用switch case 分支结构实现判断等级 switch(score / 10){ case 10: System.out.println("等级A"); break; case 9: System.out.println("等级A"); break; case 8: System.out.println("等级B"); break; case 7: System.out.println("等级C"); break; case 6: System.out.println("等级D"); break; default: System.out.println("等级E"); } } }