@[toc]
1. if结构
1.1 if 单分支结构
- 语法结构:
if(布尔表达式){
语句块
}
- 实例:掷色子游戏
这里给大家扩展一个Math函数 Math.Random(),该方法用于产生 0 到 1 区间的 double 类型的随机数,但是不包括 1
public class Test01 {
public static void main(String[] args) {
//通过 Math.random()产生随机数,因为6*Math.random最大不超过6.给他用int强制转型,+1这样产生的最大值就是6,最小值是1.
int i = (int) (6 * Math.random()) + 1;
int j = (int) (6 * Math.random()) + 1;
int k = (int) (6 * Math.random()) + 1;
int count = i + j + k;
//如果三个骰子之和大于 15,则今天牛呀
if (count > 15) {
System.out.println("今天牛呀");
}
//如果三个骰子之和在 10 到 15 之间,则手气一般,再来一把
if (count >= 10 && count <= 15) { //错误写法:10<=count<=15
System.out.println("手气一般,再来一把");
}
//如果三个骰子之和小于 10,则运气不咋地,回家吃饭吧
if (count < 10) {
System.out.println("运气不咋地,回家吃饭吧");
}
System.out.println("得到:" + count + "分");
}
}
执行结果如下图:
1.2 if-else 双分支结构
- 语法结构:
if(布尔表达式){
语句块 1
}else{
语句块 2
}
运算逻辑:当布尔表达式为真时,执行语句块 1,否则,执行语句块 2。也就是 else 部分。
- 实例:
这里用圆的面积和周长来给大家演示一下if-else双分支结构
public class HelloWorld {
public static void main(String[] args) {
//随机产生一个[0.0, 4.0)区间的半径,并根据半径求圆的面积和周长
double r = 4 * Math.random();
//Math.pow(r, 2)求半径 r 的平方
double area = 3.14 * r * r;
double circle = 2 * Math.PI * r;
System.out.println("半径为: " + r);
System.out.println("面积为: " + area);
System.out.println("周长为: " + circle);
//如果面积>=周长,则输出"面积大于等于周长",否则,输出周长大于面积
if (area >= circle) {
System.out.println("面积大于等于周长");
} else {
System.out.println("周长大于面积");
}
}
}
运行结果如图:
1.3 if-else if-else 多分支结构
- 语法结构:
if(布尔表达式 1) {
语句块 1;
} else if(布尔表达式 2) {
语句块 2;
}……
else if(布尔表达式 n){
语句块 n;
} else {
语句块 n+1;
}
运行逻辑:当布尔表达式 1 为真时,执行语句块 1;否则,判断布尔表达式 2,当布尔表达式 2 为
真时,执行语句块 2;否则,继续判断布尔表达式 3······;如果 1~n 个布尔表达式均判定为假
时,则执行语句块 n+1,也就是 else 部分。
实例
各个年龄段的叫法
public class Test03 {
public static void main(String[] args) {
int age = (int) (100 * Math.random());
System.out.print("年龄是" + age + ", 属于");
//6岁以下童年,少年,7岁—17岁,青年。 18岁—40岁,中年。 41—65岁,老年。 66岁以后
if (age < 6) {
System.out.println("童年!");
} else if (age < 17) {
System.out.println("少年!");
} else if (age < 40) {
System.out.println("青年!");
} else if (age < 65) {
System.out.println("中年, ");
} else {
System.out.println("老年");
}
}
}
运行结果如下:
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/2c9b87c4d8374ff3a7e7826f3f43dcfa.png)
# switch 语句
## switch 多分支结构
1. 语法结构:
switch (表达式) {
case 值 1:
语句块 1;
[break];
case 值 2:
语句块 2;
[break];
… … … … …
[default:
默认语句块;]
}
2. 实例
//这里我们以一年四季为例
public class TestSwitch02 {
public static void main(String[] args) {
int month = 2; //1 表示 1 月,2 表示 2 月,....
switch (month) {
case 1:
case 2:
case 3:
System.out.println("春季");
break;
case 4:
case 5:
case 6:
System.out.println("夏季");
break;
case 7:
case 8:
case 9:
System.out.println("秋季");
break;
default:
System.out.println("冬季");
}
}
}
运行结果如下:
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/b4a4a9a08bdc45aa90869c0f00a0d632.png)