1、选择语句🔥
1.1、if 语句🔥
语法: if(条件表达式){ if 执行体}
if( ){ } { } 的内容只有一句时,大括号可以省略不写
条件表达式: 结果是boolean类型字面值
if 执行体:main方法可以写的内容,if 执行体都可以写
(1.变量 2.输出语句 3.流程控制语句)
理解: 条件表达式成立,if 执行体执行,条件表达式不成立,不执行 if 执行体。
if 语句流程图:

案例:考试成绩及格,爸爸带我去游乐场!
代码实现:
public class IfExample { |
运行结果:
注意问题:
①语法问题
if() 后面没有分号,如果写了分号不报错!
②省略大括号,只限于大括号内只有一句!③局部变量的作用域
省略大括号的前提条件是只能是一句,但是这句不能是定义的一个局部变量,因为,{ }作用是定义这个局部变量的作用域!
1.2、if-else语句🔥
- 语法: if (条件表达式) {if体} else {else体}
if ( ) { } else { }
理解: 如果条件表达式成立,执行 if 体,否则,执行else体
if-else要么执行 if 体要么执行else体,一定会执行一个!
if-else 流程图

案例:如果考试成绩及格,爸爸带我去游乐场,否则爸爸揍我一顿!
代码实现:
public class IfElseExample { |
运行结果:

练习:判断一个年份是否是闰年,闰年的条件是符合下面二者之一
(1) 年份能被 4 整除,但不能被 100 整除;
(2) 能被 400
代码实现:
//思路: |
运行结果:

1.3、if-else-if多分支语句🔥
- 语法: if (条件1) { 执行体1 }
else if (条件2) { 执行体2 }
else if (条件3) { 执行体3 }
…
else { else 执行体 }
理解: 条件1如果成立,执行体1,程序结束
条件1如果不成立,判断条件2,条件2如果成立,执行条件2,程序结束
如果条件2还不成立,继续判断条件3…
以上所有的条件都不成立,执行else体
注意问题: 无论是怎么执行,都必须执行一个执行体,也只能执行一个执行体!
if-else-if 流程图

案例:小张在系统输入考试成绩,让系统告诉他,他的等级是什么?
90100 优秀!90 良好!
80
7080 中等!70 及格!
60
60以下 不及格!
代码实现:
import java.util.Scanner; |
输入不同成绩,代码运行结果如下:




运行结果完全没有问题,证明这个语句是正确的。
1.4、if 嵌套语句🔥
语法:
if( ) {
if( ) {
// if-else ...
} else {
// if-else
}
}
理解: 在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支,外面的分支结构称为外层分支。
建议: 嵌套不要超过 3 层,因为可读性不好。
if(外分支){ |
案例:人的年龄大于或等于18岁时为未成年人
代码实现:
public class NestedIfExample { |
运行结果:
1.5、switch 语句🔥
语法:
switch(字面值) {
case 字面值1:
语句1...
break;
case 字面值2:
语句2...
break;
case 字面值3:
语句3...
break;
...
default:
语句...
}
关键字翻译:
switch 开关
case 一种情况,一种可能
break 结束swtich语句
default 默认的,以上所有的情况都不执行时,执行default语句
理解: switch的字面值和case字面值进行比对,如果跟那一个case的字面值相同就执行哪一个case语句,如果都不相同,执行default的语句。
注意: 每一个case的值不能是相同的!
案例:用户在控制台输入1到5,程序输出相应的日计划!
例如,用户输入1, 系统:周一,写代码!
代码实现:
/*日计划: |
运行结果:
注意问题:
1.case穿透问题
原因:没有写break ,执行后System.out.println( )的 内容会全部输出
2.case并列问题
case可以并列,注意case的值不要相同,case 字面值 后用’ : ‘ (英文冒号)隔开
案例:控制台输入月份,系统显示季节!
例如:5 系统:春天!
春天———3 4 5
夏天———6 7 8
秋天———9 10 11
冬天———12 1 2
代码实现:
import java.util.Scanner; |
运行结果:
3.switch版本问题
jdk1.8 (8.0)版本支持的数据类型?
required: “ char, byte, short, int, Character, Byte, Short, Integer, String, or an enum ”
不支持 long类型,double类型,boolean类型
jdk1.7(7.0)之前都不支持String字符串
选择语句就这些内容了,如果发现错误欢迎小伙伴们在评论区指正,感谢阅读。