if语句
- lf语句的第一种格式
-
执行流程:
-
I.首先计算关系表达式的值
-
II. 如果关系表达式的值为true就执行语句体
-
III. 如果关系表达式的值为false就不执行语句体
-
IV.继续执行后面的其他语句
if的注意点:
-
大括号的开头可以另起一行书写,但是建议写在第一行的末尾
-
在语句体中,如果只有一句代码,大括号可以省略不写
-
如果对一个布尔类型的变量进行判断,不要用==号
- lf语句的第二种格式
-
执行流程:
-
I.首先计算关系表达式的值
-
lI. 如果关系表达式的值为true就执行语句体1
-
III. 如果关系表达式的值为false就执行语句体2
-
IV.继续执行后面的其他语句
- lf语句的第三种格式
switch语句
-
执行流程:
-
I. 首先计算表达式的值。
-
ll.依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
-
III.如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后结束整个switch语句。
-
格式说明:
-
I. 表达式:(将要匹配的值)取值为
byte
、short
、int
、char
。JDK5以后可以是枚举,JDK7以后可以是String。 -
II. case: 后面跟的是要和表达式进行比较的值(被匹配的值)。
-
III. break:表示中断,结束的意思,用来结束switch语句。
-
IV. default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
-
V. case后面的值只能是字面量,不能是变量
-
VI. case给出的值不允许重复
- default的位置和省略
public class day5_01 {
public static void main(String[] args) {
/*
default的位置和省略
1.位置 : default,我们可以写在任意位置。只不过习惯会写在最下面
2.省略 : default,语法不会有问题,但是不建议省略。
*/
int number = 100;
switch (number) {
case 1:
System.out.println("number的值为1");
break;
case 10:
System.out.println("number的值为10");
break;
case 20:
System.out.println("number的值为20");
break;
default:
System.out.println("number的值不是1,10或者20");
break;
}
}
}
- case穿透
-
case穿透
就是语句体中没有写break导致的。 -
执行流程:
首先还是会拿着小括号中表达式的值跟下面每一个case进行匹配。
如果匹配上了,就会执行对应的语句体,如果此时发现了break,那么结束整个switch语句。
如果没有发现break,那么程序会继续执行下一个case的语句体,一直遇到break或者右大括号为止。 -
使用场景:
如果多个case的语句体重复了,那么我们考虑利用case穿透去简化代码。
import java.util.Scanner;
public class day5_03 {
public static void main(String[] args) {
/* 需求:键盘录入星期数,输出工作日、休息日。
(1-5)工作日,(6-7)休息日。*/
//分析:
//1.键盘录入星期数
Scanner sc = new Scanner(System.in);
System.out.println("请录入一个整数表示星期");
int week = sc.nextInt();
//2.利用switch语句来进行选择
switch (week) {
case 1, 2, 3, 4, 5 -> System.out.println("工作日");
case 6, 7 -> System.out.println("休息日");
default -> System.out.println("没有这个星期");
}
}
}
- switch新特性(jdk12)
public class day05_02 {
public static void main(String[] args) {
//需求:
//123一二三
/*int number = 1;
switch (number) {
case 1:
System.out.println("一");
break;
case 2:
System.out.println("二");
break;
case 3:
System.out.println("三");
break;
default:
System.out.println("没有这种选项");
break;*/
int number = 1;
switch (number) {
case 1 -> {
System.out.println("一");
}
case 2 -> {
System.out.println("二");
}
case 3 -> {
System.out.println("三");
}
default -> {
System.out.println("没有这种选项");
}
}
}
}
标签:case,语句,java,05,System,学习,break,println,out From: https://www.cnblogs.com/elaina520/p/17785759.htmlswitch和if第三种格式各自的使用场景
if的第三种格式:一般用于对范围的判断
switch:把有限个数据一一列举出来,让我们任选其一