基本程序逻辑:分支结构知识点归纳及代码练习
2020-06-13 12:35
24 查看
Branch Structure 分支结构
1. 定义
定义:根据条件,选择性地执行某段代码。
注意点:条件表达式必须是布尔表达式(关系表达式或逻辑表达式),布尔型变量。
2.分类
分支结构有2种;if…else(break;)和switch-case(break;)。
2.1: if…else(break;)
2.1.1: if…else(break;)的3种结构
①: if(条件表达式){
执行表达式
}
②:2选1;
if(条件表达式){
执行表达式1
}else{
执行表达式2
}
③: n选1。
if(条件表达式){
执行表达式1
}else if(条件表达式){
执行表达式2
}else if(条件表达式){
执行表达式3
}
…
else{
执行表达式n
}
2.1.2:注意
1.else 结构是可选的。即可以省略 else 。
2.针对于条件表达式:
① 如果多个条件表达式之间是“互斥”关系(或没有交集的关系),无所谓声明顺序。
②如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。
③ 如果多个条件表达式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面。
3.if-else结构是可以相互嵌套的。
4.如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。但是,不建议大家省略。
2.2: switch-case(break;
2.2.1:格式
switch(算术表达式){
case 常量1:
执行语句1;
//break;
case 常量2:
执行语句2;
//break;
…
default:
执行语句n;
//break;
}
2.2.2:注意
- switch结构中的表达式,只能以下6种数据类型之一:
byte 、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
//String型 赋值格式。 String season = "summer"; case "spring":
- case 之后只能声明常量。不能声明范围,不能是变量名或不确定的表达式值;
- 同一个switch语句,所有case子句中的常量值互不相同;
- break; 用来在执行完一个case分支后使程序跳出switch语句块;如果没有break; 程序会顺序执行到switch结尾。break关键字是可选的,即可省略部分。
- default子句是可任选的,位置也是灵活的。当没有匹配的case时,执行default。相当于if-else结构中的else。
3. 使用说明
- 凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立。
- 我们写分支结构时,当发现既可以使用switch-case,(同时,switch中表达式的取值情况不太多),又可以使用if-else时,我们优先选择使用switch-case。
原因:switch-case执行效率稍高。
4. 代码展示
示例代码
//输入三个正整数,并获取它们之中的最大值。(最小值) public void thereIntergeSort() { /* //方法一:三元运算符。 int m,n,k; m = 2; n = 8;k =2; int max = (m > n)?m : n; int max1 = (max >= k)?max : k; System.out.println("三个数中最大值为:" + max1); */ // /* //方法二:if-else分支循环结构。 int m, n, k; m = 2; n = 8; k = 2; //int m = 2; n = 8; k = 2; if (m >= n && n >= k) { System.out.println("三个数中最大值为:" + m); } else if (n >= m && n >= k) { System.out.println("三个数中最大值为:" + n); } else { System.out.println("三个数中最大值为:" + k); } // */ }
//由键盘输入三个整数分别存入变量num1、num2、num3 ;对它们进行排序(使用 if-else if-else),并且从小到大输出。 public void scoreTrere() { Scanner scanner = new Scanner(System.in); System.out.print("请输入第一个整数:"); int num1 = scanner.nextInt(); System.out.print("请输入第二个整数:"); int num2 = scanner.nextInt(); System.out.print("请输入第三个整数:"); int num3 = scanner.nextInt(); if (num1 >= num2) { if (num3 >= num1) System.out.println(num2 + "," + num1 + "," + num3); else if (num3 <= num2) System.out.println(num3 + "," + num2 + "," + num1); else System.out.println(num2 + "," + num3 + "," + num1); } else { if (num3 >= num2) System.out.println(num1 + "," + num2 + "," + num3); else if (num3 <= num1) System.out.println(num3 + "," + num1 + "," + num2); else System.out.println(num1 + "," + num3 + "," + num2); } }
相关文章推荐
- 基本程序逻辑:循环结构知识点归纳和代码展示
- Java代码复习 - 程序结构之分支语句练习
- 第七讲 分支结构程序体验之练习 3个小程序
- Kotlin——程序的基本逻辑结构之选择、循环和跳转基本语法
- C语言入门系列之4.分支结构程序-关系、逻辑运算和if、switch语句
- FLEX程序基本结构--分支结构程序设计
- 程序基本结构和简单分支
- 【2012-08-06】关于Java中最基本的分支结构逻辑问题,进入else if 执行后,还会进入else中执行
- 程序的基本结构---分支结构
- 黑马程序员——知识点回顾(一):基本程序结构
- mysql游标处理复杂逻辑,分支结构代码示例
- 微信小程序(看文档写实例九)微信小程序课堂宝APP实现练习模块逻辑代码
- 第7讲-分支结构程序体验-练习
- wml程序的基本结构
- 编写高质量代码改善C#程序的157个建议——建议149:使用表驱动法避免过长的if和switch分支
- zz:初学android所必需的的知道的android新闻系统程序基本结构
- 第二章 程序的基本结构
- 第四章计算器程序部分代码,结合练习
- 第三章 分支结构程序
- JAVA基础-程序的基本结构、函数与数组