选择结构
- IF单选择结构
- IF双选择结构
- IF多选择结构
- 嵌套的IF结构
- switch 多选择结构
IF单选择结构(只有if)
- 语法
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
- 实例代码
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
if (s.equals("qwe")){
System.out.println("qwe");
}
System.out.println("End");
scanner.close();
}
}
IF双选择结构(两个判断/选择)
- 语法
if(布尔表达式){
//如果布尔表达式为true
}else {
//如果布尔表达式的值为false
}
- 实例代码
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩");
int score = scanner.nextInt();
if (score>59) {
System.out.println("及格");
}else System.out.println("不及格");
scanner.close();
}
}
IF多选择结构(两个以上的判断/选择)
- 语法
if(布尔表达式 1){
//如果布尔表达式 1的值为为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为为true执行代码
}else{
//如果以上的布尔表达式都不为true执行代码
}
- 实例代码
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();
if (score == 100){
System.out.println("恭喜满分");
}else if (score > 79 && score < 100){
System.out.println("成绩优秀");
}else if (score > 59 && score < 80){
System.out.println("成绩一般");
}else if (score == 60){
System.out.println("及格");
}else System.out.println("成绩不合法");
scanner.close();
}
}
嵌套的IF结构
- 使用嵌套的if…else 语句是合法的,也就是说你可以在另一个if或者else if语句中使用if或者else if 语句。你可以像if语句一样嵌套 else if…else。
- 语法
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}
}
- 实例代码
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
if (i<100){
if (i<50){
System.out.println("i<50");
}
}else System.out.println("i>100");//else对应着和它在同一个块中的最近的if语句,而且该if语句没有与其他else语句相关联.
scanner.close();
}
}
switch 多选择结构
- 多选择结构还有一个实现方式就是switch case 语句。
- switch case 语句判断一个变量与一系列之中某个值是否相等,每个值成为一个分支。
switch(expression){
case value :
//语句
break;//可选
case value :
//语句
break;//可选
//你可以有任意数量的case语句
default : //可选
//语句
}
- switch 语句中的变量类型可以是:
- byte、short、int 或者 char。
- 从Java SE 7开始,switch 支持字符串 String 类型。
- 同时 case 标签必须为字符串常量或自变量。
String 类型
public class Deno06 {
public static void main(String[] args) {
//case穿透 //switch 匹配一个具体的值
String name = "张三";
switch (name){
case "张三" :
System.out.println("张三");
break;
case "李四" :
System.out.println("李四");
break;
case "王五" :
System.out.println("王五");
break;
default :
System.out.println("输入错误,请重新输入");
}
}
}
char 类型
public class Demo07 {
public static void main(String[] args) {
char lv = 'A';
switch (lv){
case 'A' :
System.out.println("A");
break;
case 'B' :
System.out.println("B");
break;
case 'C' :
System.out.println("C");
break;
default :
System.out.println("输入错误,请重新输入");
}
}
}
- 假如省略break,那么case就会向下渗透,默认下一个与上面赋值的类型相等且输出。