if(条件表达式){
代码块
}
if 关键字: 是如果的意思
条件表达式的结果是布尔值。也就是真/假
条件表达式成立代码执行,则不成立/不执行。
如果if条件语句里面只有一行代码:花括号可以省略(但是不推荐)
if(条件表达式) {
代码块1
}else{
代码块2
}
条件表达式成立执行代码块1,
不成立执行代码块2。
if.....else..... 体系里面,必然有一个代码要执行
switch(变量){
case 值1:
语句体1;
break;
case 值2:
语句体1;
break;
case 值3:
语句体1;
break;
....
default:
语句体n+1;
break;
}
变量和值1 值2挨个去比较,如果相等,就执行对应的代码,switch体系里面其他的代码就不执行了
否则继续往下面比较,如果都不相等,执行default里面的语句
注意一点: 不要忘记写break;
switch 开关
case 案例
break 打断
能用switch的地方,if都可以
但是如果做等值(==)建议用switch,效率高。
如果是范围判断,switch是实现不了的。
实例
import java.util.Scanner;
public class Text04 {
public static void main(String[] args) {
System.out.println("欢迎来到饭店");
System.out.println("主菜单 > 查询今日特价菜");
System.out.println("用户您好,请输入您的性别:");
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
if (next.equals("男")) {
System.out.println("用户您好,请输入您要查询星期几:");
String next1 = scanner.next();
switch (next1) {
case "星期一":
System.out.println("男生星期一特价菜: 红烧猪肘,15元一份");
break;
case "星期二":
System.out.println("男生星期一特价菜: 宫保鸡丁,22元一份");
break;
case "星期三":
System.out.println("男生星期一特价菜: 红烧猪肘,15元一份");
break;
case "星期四":
System.out.println("男生星期一特价菜: 宫保鸡丁,22元一份");
break;
case "星期五":
System.out.println("男生星期一特价菜: 红烧猪肘,15元一份");
break;
case "星期六":
System.out.println("男生星期一特价菜: 宫保鸡丁,22元一份");
break;
case "星期日":
System.out.println("男生星期一特价菜: 红烧猪肘,15元一份");
break;
default:
System.out.println("您输入有误");
}
} else if (next.equals("女")) {
System.out.println("用户您好,请输入您要查询星期几:");
String next1 = scanner.next();
switch (next1) {
case "星期一":
System.out.println("女生星期一特价菜: 红烧猪肘,15元一份");
break;
case "星期二":
System.out.println("女生星期一特价菜: 宫保鸡丁,22元一份");
break;
case "星期三":
System.out.println("女生星期一特价菜: 红烧猪肘,15元一份");
break;
case "星期四":
System.out.println("女生星期一特价菜: 宫保鸡丁,22元一份");
break;
case "星期五":
System.out.println("女生星期一特价菜: 红烧猪肘,15元一份");
break;
case "星期六":
System.out.println("女生星期一特价菜: 宫保鸡丁,22元一份");
break;
case "星期日":
System.out.println("女生星期一特价菜: 红烧猪肘,15元一份");
break;
default:
System.out.println("您输入有误");
}
}
}
}