选择结构
选择结构
If结构
if单选择结构
语法:
if(xx){//boolean语句为真时执行{}内语句,否则跳过
xxxx;
}
If双选择结构
语法:
if(xx){//boolean语句为真时执行
xxxx;
}
else{//boolean语句为假时执行
xxxx;
}
If多选择结构
语法:
if(xx){//boolean语句为真时执行
xxxx;
}
else if(xx){//boolean语句为真时执行
xxxx;
}
else if(xx){//boolean语句为真时执行
xxxx;
}
...
...
...
else{//上述语句都不满足时执行
xxxx;
}
注意
- if语句中至多有一个else语句,else语句在所有else if语句之后
- if语句中可以有若干个else if语句,要在else语句之前
- 一旦其中一个else if语句判断条件为true,其余else if及else语句都被跳过,不执行
拓展
String s = "xxx";
//equals:用于判断字符串是否相等
if(s.equals("Hello")) {
System.out.println(s);
}
switch结构
语法
switch (xxx){//将变量xxx与下列case比对,相等时执行对应的case后语句
case 'A':
System.out.println("AA");
break;
case 'B':
System.out.println("BB");
break;
case 'C':
System.out.println("CC");
break;
case 'D':
System.out.println("DD");
break;
default://上述所有case都不符合时执行
System.out.println("???");
break;
}
注意
case穿透:当一个case后不添加break时,这个case执行后后续case会全部执行
拓展
在jdk7后,switch表达式的判断可以是字符串
String name = xxx;
switch(name){//变量name可以是字符串
case "aaa":
System.out.println("?");
break;
case "Bry5e":
System.out.println("666");
break;
default:
System.out.println("?");
break;
}
瞎写的程序
package com.Bry5e.struct;
import java.util.Scanner;
public class If_Switch {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int score = -1;//记录成绩
char rank = 0;//划分等级
System.out.println("欢迎使用成绩等级查询\n请输入成绩:");
if(scanner.hasNextInt()){//从键盘收入成绩
score = scanner.nextInt();
}
scanner.close();//成绩输入完成,关闭scanner
if(score<=100 && score>=0) {//当成绩合法时,划分等级
if (score <= 100 && score >= 80) {
rank = 'A';
} else if (score < 85 && score >= 70) {
rank = 'B';
} else if (score < 70 && score >= 60) {
rank = 'C';
} else if (score < 60 && score >= 0) {
rank = 'D';
}
System.out.println("你的成绩等级是"+rank+"");
}
else{//成绩不合法时
System.out.println("能不能整个阳间的成绩?");
}
switch(rank){//给不同的等级写评语
case 'A':
System.out.println("不错哦");
break;
case 'B':
System.out.println("害行吧");
break;
case 'C':
System.out.println("咋回事呢");
break;
case 'D':
System.out.println("差不多得了");
break;
default:
System.out.println("边玩去!");
}
}
}

浙公网安备 33010602011771号