019_JAVA流程控制_选择结构
if选择结构包括if单选择结构、i双f选择结构、if多选择结构、嵌套的if选择结构。
-
if单选择结构
-
语法
if(布尔表达式){
//如果布尔表达式为true将执行语句
}-
例子
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(布尔表达式){
//如果布尔表达式为true将执行语句
}else{
//如果布尔表达式为false将执行语句
}-
例子
String name = "小何呀";
if(name.equals("小何呀")){
System.out.println("这个人是小何呀");
}else{
System.out.println("这个人不是小何呀");
}
-
-
if多选择结构
-
语法
if(布尔表达式1){
//如果布尔表达式1为true将执行语句
}else if(布尔表达式){
//如果布尔表达式2为true将执行语句(且布尔表达式1为false)
}else if(布尔表达式3){
//如果布尔表达式3为true将执行语句(且布尔表达式1和2都为false)
}
...
}else{
//如果以上布尔表达式都为false将执行语句
}-
例子
/*
if语句至多有一个else语句,else语句在所有的else if 语句之后
if语句可以有若干个else if 语句,它们必须在else语句之前
一旦其中一个else if语句检测为true,其他的else if 和else语句都将跳过执行
*/
Scanner scanner1 = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner1.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("成绩不合法!");
}
//不及格不能作为else语句,是为了保证程序的完整性。因为会有可能输入的成绩不在合理范围内
scanner1.close(); -
-
嵌套的if选择结构:以上if结构的嵌套,及一个if语句中包含另一个if语句
int num1 = 100;
int num2 = 400;
if(num1 != num2){
//嵌套
if(num1>num2){
System.out.println(num1 +">"+num2);
}else{
System.out.println(num1 +"<"+num2);
}
}else{
System.out.println(num1 +"="+num2);
}
二、Switch多选择结构
-
switch case 语句判断一个变量与一系列值是否相等,每一个值称为一个分支
-
语法
-
Switch(expression){
case value1:
//语句
break;
case value2:
//语句
break;
//可以有任意数量的case语句
default://可选
//语句
}
-
-
变量类型
-
expression:byte 、short、 int or char,从JAVA SE7开始,Switch支持字符串String类型
-
同时case标签(value)必须为字符串常量或字面量
-
-
例子:输出 小何呀
String name = "小何呀";
switch (name){
case "小何呀":
System.out.println("小何呀");
break;
case "小小呀":
System.out.println("小小呀");
break;
default:
System.out.println("弄啥嘞!");
}
/*
注意Case穿透现象,如果case内没有break,则当找到满足的case值后,其后的case也会执行,指导遇到break或全部结束
*/case “小何呀“和case”小小呀“都没有break时:
case “小何呀“没有break时:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现