三、选择结构
1.if单选择结构
判断一个东西是否可行,可行才去执行
package com.song.structure;
import java.util.Scanner;
public class Demo02 {
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();
}
}
2.if双选择结构
package com.song.structure;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
//考试分数大于60分就是及格,小于60分就是不及格
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();
}
}
3.if多选择结构
package com.song.structure;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
//多级选择
Scanner scanner = new Scanner(System.in);
/*
注意:
if语句之多有一个else语句,else语句在所有的else if语句之后
if语句可以有若干个else if语句,他们必须再else语句之前。
一旦其中一个else if语句检测为true,则其他的else if以及else 语句将跳过执行
*/
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("不及格");
} else {
System.out.println("成绩不合法");//写程序要严谨,考虑全面
}
scanner.close();
}
}
4.嵌套的if结构
一个if里面可以嵌套if
5.switch多选择结构
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch(expression){
case vaue:
//语句
break;
case vaue:
//语句
break;
case vaue:
//语句
break;
default://可选
//语句
}
switch 语句中的变量类型可以是 byte,short,int,char;
从Java SE7开始,switch支持字符串String类型了;
同时case标签必须是字符串常量或是字面量。
package com.song.structure;
public class Demo05 {
public static void main(String[] args) {
//case 穿透 ,switch 匹配一个具体的值
char grade = 'C';
switch (grade) {
case 'A':
System.out.println("优秀");
break;//可选,不写break下面会全部被执行
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("再接再厉");
break;
case 'E':
System.out.println("挂科");
break;
default:
System.out.println("未知等级");
}
}
}
package com.song.structure;
public class Demo06 {
public static void main(String[] args) {
String name = "Song";
//JDK7之后,表达式才支持字符串
//字符的本质还是数字
//反编译 java-class(字节码文件)-----反编译(IDE)
switch (name) {
case "Wang":
System.out.println("Wang");
break;
case "Song":
System.out.println("Song");
break;
default:
System.out.println("未知");
}
}
}
反编译: