if判断语句语句
格式1:
只能对一种情况进行判断
if (判断条件) {
语句体
}
执行顺序:判断条件 如果是 true 执行 语句体 如果是false 什么都不执行
格式2:
只能对两种情进行判断
if (判断条件1) {
语句体1
} else if (判断条件2) {
语句体2
}
执行顺序: 判断条件1 如果是true 执行 语句体1 程序结束
如果是false 执行判断条件2
判断条件2 如果是 true 执行 语句体2
如果是false 程序结束什么都不执行
格式3:
对多种情况惊醒判断
if (判断条件1) {
语句体1
} else if (判断条件2) {
语句体2
} else {
语句体3
}
执行顺序: 判断条件1 如果是true 执行 语句体1 程序结束
如果是false 执行判断条件2
判断条件2 如果是 true 执行 语句体2
如果是false 执行 else 执行语句体3
if语句小练习:
import java.util.Scanner;
/*
if语句的第三种格式
*/
public class 第一遍 {
public static void main(String[] args) {
// 键盘录入一个星期数(1,2,...7),输出对应的星期一,星期二,...星期日
//1 创建Scanner对象
Scanner sc = new Scanner(System.in);
//2 提示输入
System.out.println("请输入一个星期数(1-7)");
//3 获取数据
int week = sc.nextInt();
//判断获取数据并输出
if (week == 1){
System.out.println("星期一");
}else if (week == 2){
System.out.println("星期二");
}else if (week == 3){
System.out.println("星期三");
}else if (week == 4){
System.out.println("星期四");
}else if (week == 5){
System.out.println("星期五");
}else if(week == 6){
System.out.println("星期六");
}else if (week == 7){
System.out.println("星期天");
}else{
System.out.println("请输入正确的星期数字!!!");
}
}
}
switch语句判断
switch判断语句格式:
switch (常量/变量) {
case 1:
语句体
breeak;
case 1:
语句体
breeak;
.
.
.
.
case n:
语句体
break;
default:
语句体
break;
}
执行顺序: 括号中的常量或者变量与作用域中的case从上到下进行匹配,如果匹配到就执行匹配到的语句体,如果没匹配到就执行default.
switch判断语句小练习
import java.util.Scanner;
/*
键盘录入一个星期数(1,2,...7),输出对应的星期一,星期二,...星期日
*/
public class 第三遍 {
public static void main(String[] args) {
//创建Scanner对象
Scanner sc = new Scanner(System.in);
//提示输入信息
System.out.println("请输入一个星期数");
//获取信息
int week = sc.nextInt();
//判断
switch (week) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期天");
break;
default:
System.out.println("请输入正确的星期数");
break;
}
}
}
case穿透
- 在switch语句的执行中, 如果case后面没有写break, 就会出现穿透的现象
- 当当前的case匹配成功, 执行了语句体之后, 但是没有遇到break
- 将会继续向下执行, 不会在匹配下一个case(case穿透), 而是直接向下执行语句体
- 直到遇到break, 或者整个switch语句结束.
case穿透小案例
/*
运用case穿透
*/
public class 第二遍 {
public static void main(String[] args) {
//根据键盘输入信息判断属于哪个季度并输出结果
//创建Scanner对象
Scanner sc = new Scanner(System.in);
//提示输入信息
System.out.println("请输入月份:");
//获取信息
int month = sc.nextInt();
//判断
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;
case 10:
case 11:
case 12:
System.out.println("第四季度");
break;
default:
System.out.println("请输入正确的月份");
break;
}
}
}