# zb_java0720 **Repository Path**: HermitLH-826/zb_java0720 ## Basic Information - **Project Name**: zb_java0720 - **Description**: 流程控制 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2018-07-20 - **Last Updated**: 2020-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # zb_java0720 # 教学目标 1.流程控制 # 课堂笔记 ## 0 补充:问号表达式[条件判定表达式] 问号表达式是高级语言中唯一一个三元算运算符: 语法: 条件判定表达式?结果表达式1:结果表达式2; 执行流程: (1)执行条件判定表达式,如果条件判定表达式结果为true,则将结果表达式1作为整个问号表达式的结果; (2)如果如果条件判定表达式结果为false,则将结果表达式2作为整个问号表达式的结果; 注意: (1)结果表达式1和结果表达式2的类型要一致或兼容【可以默认转换】; (2)问好表达式的结果类型取决于结果表达式1和结果表达式2的类型; (3)条件判定表达式执行的结果必须是布尔类型; (4)条件判定表达式可以嵌套,结果表达式1和结果表达式2可以继续嵌套为条件表达式; 代码[com.yuw.flow.Test01]: ``` /** * 条件表达式 */ private static void test02() { // 控制台录入成绩 Scanner sc = new Scanner(System.in); System.out.println("请输入你的成绩:"); // 接收输入的值 int iScore = sc.nextInt(); String strResult = iScore >= 60 ? "及格" : "不及格"; System.out.println("你的成绩等级为:" + strResult); // 关闭资源 sc.close(); } /** * 条件表达式 */ private static void test021() { // 控制台录入成绩 Scanner sc = new Scanner(System.in); System.out.println("请输入你的成绩:"); // 接收输入的值 int iScore = sc.nextInt(); String strResult = iScore >= 90 ? "优秀" : iScore >= 80 ? "优良" : iScore >= 70 ? "中等" : iScore >= 60 ? "及格" : "不及格"; System.out.println("你的成绩等级为:" + strResult); // 关闭资源 sc.close(); } ``` ## 1 分支流程 ### 1.1 switch语句 switch语句是多选择分支流程。 语法: switch(匹配表达式){ case 匹配值1: case语句体1; break语句; case 匹配值2: case语句体2; break语句; case 匹配值n: case语句体n; break语句; default: default语句体; } 解析: (1)匹配表达式的值和case后面的匹配值做等值匹配(相等运算), 如果匹配成功,则执行该case块的语句体,如果有break语句,则结束整个switch语句块;执行后续其他代码; (2)如果执行的case语句块末尾没有break语句,则会继续执行直到遇到break语句结束或者执行完后续的所有的switch语句; 注意: (1)break语句可有可无; (2)如果没有break语句,会从进入的分支一直执行到break语句,或者执行完所有的分支; (3)default作用类似于else的作用,default语句一般习惯写在最后,但是也可以写在switch的任何位置; 【else只能写在最后】 (4)switch后面匹配表达式的结果类型可以是:byte short int char String 代码[com.yuw.flow.Test01]: ``` /** * switch多选分支流程 */ private static void test01() { // 控制台录入成绩 Scanner sc = new Scanner(System.in); System.out.println("请输入你的成绩:"); // 接收输入的值 int iScore = sc.nextInt(); // 使用switch语句进行程序登记评定 // iScore/10可以缩减case分支个数,case分支是做等值匹配 switch (iScore / 10) { case 10: // case穿透 case 9: System.out.println("恭喜你,获得优秀等级"); break; case 8: System.out.println("恭喜你,获得优良等级"); break; case 7: System.out.println("恭喜你,获得中等等级"); break; case 6: System.out.println("恭喜你,获得及格等级"); break; default: System.out.println("很不幸,没有及格,请继续努力"); } System.out.println("成绩评定结束。"); } ``` #### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [http://git.mydoc.io/](http://git.mydoc.io/) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)