Java流程控制2
根据B站up 遇见狂神说的 学习笔记 up视频地址
选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- switch多选择结构
if单选择结构
-
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样的一个过程中用if语句来表示
-
语法
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
import java.util.Scanner; public class ifDemo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入内容:"); String s = scanner.nextLine(); //equals:判断字符串是否相等 if(s.equals("Hello")){ System.out.println(s); } System.out.println("End"); scanner.close(); } }
if双选择结构
-
当我们对一件事情有了两个判断时,成功时如何,失败时如何,就需要一个双选择结构,所以就有了if-else结构
-
语法:
if(布尔表达式){
//如果布尔值表达式的值为true
}else{
//如果布尔值表达式的值为false
}
import java.util.Scanner; public class ifDemo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩"); int score = scanner.nextInt(); if(score>60){ System.out.println("及格"); }else{ System.out.println("不及格"); } scanner.close(); } }
if多选择结构
-
然而真实的情况还可能存在着ABCD多种情况,存在区间多级判断,所以我们需要一个多选择结构来处理这类问题
-
语法:
if(布尔表达式 1){
//如果布尔值表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔值表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔值表达式 3的值为true执行代码
}else{
//如果以上布尔表达式都不为true执行代码
}
public class ifDemo03 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩"); int score = scanner.nextInt(); if(score==100){ System.out.println("恭喜满分"); }else if(score<100 && score>=90){ System.out.println("A级"); }else if(score<90 && score>=80){ System.out.println("B级"); }else if(score<80 && score>=70){ System.out.println("C级"); }else if(score<70 && score>=60){ System.out.println("D级"); }else if(score<60 && score>=0){ System.out.println("D级"); }else{ System.out.println("成绩不合法"); } scanner.close(); } }
小结
- if语句至多有1个else语句,else语句在所有else if语句之后
- if语句可以有若干个else if 语句,它们必须在else语句之前
- 一旦其中一个else if为true,其他的else if以及else语句都将跳过执行
嵌套的if结构
-
使用嵌套的if···else语句是合法的。也就是说你可以在另一个if或者else if语句中if或者else if语句。可以像if语句一样嵌套else if ···· else
-
语法:
if(布尔表达式1){
///如果布尔表达式 1 的值为true执行代码
if(布尔表达式 2){
///如果布尔表达式 2 的值为true执行代码
}
}
switch多选择结构
-
多选择结构还有一个实现方式就是switch case语句
-
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
switch 语句中的变量类型可以是:
- byte、short、int或者char
- Java SE 7 开始
- switch支持字符串String类型了
- 同时case标签必须为字符串常量或字面量
-
语法:
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//你可以有任意数量的case语句
default://可选
//语句
}
public class Switch {
public static void main(String[] args) {
//case 穿透 //switch 匹配一个具体的值
char grade = 'C';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
case 'C':
System.out.println("及格");
case 'D':
System.out.println("再接再厉");
case 'E':
System.out.println("挂科");
default:
System.out.println("位置等级");
}
}
}
/*结果 这就是case穿透 所有应该在每个case后都添加break
及格
再接再厉
挂科
*/