08.Java if 单选择结构/if-else 双选择结构/if-else if-else 多选择结构/switch 多选择结构
前言
流程控制语句是用来控制程序中各语句执行顺序的语句
逻辑结构
- 顺序结构:先执行 a,再执行 b
- 选择结构:如果……,则……
- 循环结构:如果……,则再继续……
if 单选择结构
语法结构
if 语句对布尔表达式进行一次判定,若判定为真,则执行 {} 中的语句块,否则跳过该语句块。
if(布尔表达式){
语句块;
}
流程图
代码示例:随机数
public class Testif {
public static void main(String[] args) {
System.out.println(Math.random()); // 返回一个 0 到 1 之间的随机数
System.out.println((int)(6 * Math.random())); // 返回一个 0 到 5 之间的随机数
System.out.println((int)(6 * Math.random() + 1));// 返回一个 1 到 6 之间的随机数
}
}
注意点
- java.lang 包中的 Math 类提供了一些用于数学计算的方法。
- Math.random() 方法可用于产生一个 0 到 1 区间的 double 类型的随机数,但不包括 1
- 案例:int i = (int)(6 * Math.random()); // 产生 [0,5] 之间的随机整数。
代码示例:掷骰子游戏
// 生成三个随机数 [1,6],模拟掷骰子游戏
public class Testif {
public static void main(String[] args) {
int i = (int)(6 * Math.random() + 1); // 返回一个 1 到 6 之间的随机数
int j = (int)(6 * Math.random() + 1); // 返回一个 1 到 6 之间的随机数
int k = (int)(6 * Math.random() + 1); // 返回一个 1 到 6 之间的随机数
int count = i + j + k;
// 如果是哪个筛子之和大于 15,则手气不错
if (count > 15){ // 错误写法:10 <= count <= 15
System.out.println("今天手气可以");
}
// 如果是三个筛子之和在 10 到 15 之间,则手气一般。
if (count >= 10 && count <= 15){
System.out.println("今天手气一般");
}
// 如果是三个筛子之和小于 10,则手气一般。
if (count < 10){
System.out.println("今天手气不太行");
}
System.out.println("总共获得了 " + count + " 分");
}
}
if-else 双选择结构
语法结构
if(布尔表达式){
语句块1;
}else{
语句块2;
}
流程图
代码示例
// 测试 if-else 双选择语句
public class TestIfelse {
public static void main(String[] args) {
int a = (int)(6 * Math.random() + 1);
if (a < 3){
System.out.println("小");
}else{
System.out.println("大");
}
System.out.println("这次随机数的结果是 "+ a);
}
}
if-else if-else 多选择结构
一直判断选择条件,直到遇到符合的条件,执行语句块内容为止
语法结构
if (布尔表达式1){
语句块1;
}else if(布尔表达式2) {
语句块2;
}……
else if(布尔表达式n){
语句块n;
} else if(布尔表达式n+1){
语句块n+1;
}
代码示例
// 测试多选择结构
public class TestIfElseIfElse {
public static void main(String[] args) {
int age = (int)(100 * Math.random()); // 生成 0 到 100 的随机整数
System.out.println("这次判断的年龄是 "+ age + " 岁");
if (age < 15){
System.out.println("儿童,比较喜欢玩!");
}else if (age < 25){
System.out.println("青年,热爱学习!");
}else if (age < 45){
System.out.println("中年,需要工作!");
}else if (age < 65){
System.out.println("中老年人,得补钙!");
}else if (age < 85){
System.out.println("老年人,多锻炼");
}else{
System.out.println("寿星,你真牛");
}
}
}
switch 多选择结构
遇到多值判读时,优先使用 switch。
switch多选择结构图
语法结构
如果没有 break,语句就会往下执行。break 用于结束 switch 语句。
switch (表达式){
case 值1;
语句序列1;
[break];
case 值2;
语句序列2;
[break];
…… …… ……
[default:
默认语句;]
}
代码示例
如果没有 break,语句就会往下执行。break 用于结束 switch 语句。
public class TestSwitch {
public static void main(String[] args){
int sieve = (int)(1+6*Math.random());
System.out.println("随机筛子数是:" + sieve);
switch (sieve){
case 1:
System.out.println("筛子数是1");
break;
case 2:
System.out.println("筛子数是2");
break;
case 3:
System.out.println("筛子数是3");
break;
default:
System.out.println("筛子数大于3");
break;
}
}
}
偷偷向银河要了一把碎星✨只等你闭上眼睛撒入你的梦中。

浙公网安备 33010602011771号