<small>
分支结构
分支:有选择性的执行其中某一段代码。
java中的代码组成结构,只有三种:
顺序结构、分支结构、循环结构
1)、分支结构两种
a、if-else分支
①、if(一条分支可选) **
语法:
if(逻辑判断){
执行代码块;
}
如果逻辑判断为真,执行代码块;
②、if-else(两条分支,必定会选一条) **
语法:
if(逻辑判断){
执行代码块1;
}else{
执行代码块2;
}
如果逻辑判断为真,执行代码块1;
否则执行代码块2;
③、if-else if(多条分支)XX
语法:
if(逻辑判断1){
执行代码块1;
}else if(逻辑判断2){
执行代码块2;
}else if(逻辑判断3){
执行代码块3;
}.....
如果逻辑判断1为真,执行代码块1;
如果逻辑判断2为真,执行代码块2;
如果逻辑判断3为真,执行代码块3;
.....
④、if-else if....-else(多条分支,必定会选一条) **
语法:
if(逻辑判断1){
执行代码块1;
}else if(逻辑判断2){
执行代码块2;
}else if(逻辑判断3){
执行代码块3;
}.....
else{
执行代码块N;
}
如果逻辑判断1为真,执行代码块1;
如果逻辑判断2为真,执行代码块2;
如果逻辑判断3为真,执行代码块3;
.....
如果上述分支都不选,否则执行代码块N;
建议:
if、if-else、if-else if-else为经常用。
分支条件,一定要考虑闭环操作。
练习:
要求控制台输入一个年份,
判断该年份是否为闰年。
控制台输出:XXXX年是闰年(XXXX年不是闰年)。
2)、switch-case分支
局限性非常大
语法:
switch(整型||枚举||jdk1.8以后支持字符串){
case 情形1:
执行代码块1;
break;
case 情形2:
执行代码块2;
break;
.....
case 情形N:
执行代码块N;
break;
default:
以上情形都不满足,执行此代码块;
}
```
>局限性:
1、判断条件只能是:
整型||枚举||jdk1.8以后支持字符串
不可以进行范围判断。
2、break的使用。
3、default的使用。
>2、if-else、switch-case分支的比较
1)、所有的switch-case,都能通过if-else改造。
但是if-else不能随便改造成switch-case。
2)、switch-case不能判断范围,if-else可以。
3)、if-else只选一条分支,switch-case可以实现多选。
4)、switch-case简洁明了,对整型的判断,适当使用。
if-else使用频率最高。
**5)、if-else与三目运算符有类似之处,
所有的三目运算符,都可以通过if-else替换。
逻辑判断 ? 表达式1 : 表达式2;
如果逻辑判断为真,执行表达式1,
否则执行表达式2。
if(逻辑判断){
执行代码1;
}else{
执行代码2;
}
如果逻辑判断为真,执行代码1,
否则执行代码2。
>练习:
要求控制台输入:年份,月份。
通过代码判断,控制台输出:
xxxx年xx月,含有xx天。
补充知识点:
1、java.util.Scanner类
java.util.Scanner类
工具类,控制台扫描器。
用于扫描控制台的输入,并获得输入内容。
此类非java.lang包下的类,需要导入。
1)、java.util.Scanner类使用步骤
step1:导入
在第一行的package包路径下导入。
import java.util.Scanner;
step2:创建Scanner对象
Scanner sc = new Scanner(System.in);
step3:扫描控制台输入,
并使用变量存放控制台输入内容。
注意:a、next与nextLine的区别?
b、类型一定要对应。
2)、快速导入
a、单击错误提示
选择正确的类,双击导入。
b、首先你得知道类名前几个字母。
Alt + / 快速选择导入。
c、写出完整的类名
ctrl + shift + o