1.switch选择结构:
语法:
switch (key) {
case value:
break;
case value:
break;
case value:
break;
default:
break;
}
根据key去匹配value的值,如果value的值跟key相同则走case块中的代码,然后执行完毕后结束,如果所有case块都不匹配则会走default
如果想让case块执行完毕后跳出选择结构则在case块结尾处添加break
案例: /* 韩嫣参加计算机编程大赛 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 如果获得第二名,将奖励惠普笔记本电脑一部 如果获得第三名,将奖励移动硬盘一个 否则,不给任何奖励 */ public class Demo01 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入名次:"); char count = input.next().charAt(0); /* * * 韩嫣参加计算机编程大赛 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 如果获得第二名,将奖励惠普笔记本电脑一部 * 如果获得第三名,将奖励移动硬盘一个 否则,不给任何奖励 */ switch (count) { case '一': System.out.println("参加麻省理工大学组织的1个月夏令营 "); break; case '二': System.out.println("奖励惠普笔记本电脑一部"); break; case '三': System.out.println("奖励移动硬盘一个"); break; default: System.out.println("没有奖励!"); break; } }
2.注意问题:
1.case后面的常量必须各不相同
2.如果需要每个case执行完后跳出,在每个case后不要忘记写break;
3.default块顺序可以变动,但要注意其执行顺序。通常,default块放在末尾,也可以省略
3.多重if选择结构和switch比对
相同点:
都是用来处理多分支条件的结构
不同点:
switch选择结构
只能处理等值条件判断的情况
多重if选择结构
没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况
4.总结选择结构:
if选择结构
基本if选择结构: 处理单一或组合条件的情况
if-else选择结构:处理简单的条件分支情况
多重if选择结构:处理复杂的条件分支情况
嵌套if选择结构:用于较为复杂的流程控制
switch选择结构
多重分支并且条件判断是等值判断的情况
5.使用hasNextInt()解决用户从控制台输入为非整型问题
public class Demo02 { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("欢迎光临我行我素管理系统"); System.out.println(" 1.登录系统"); System.out.println(" 2.退出"); System.out.println("请选择:"); if(input.hasNextInt()) { int number=input.nextInt(); switch (number) { case 1: System.out.println("欢迎登录系统!!"); break; case 2: System.out.println("您退出了系统!!"); break; default: System.out.println("没有输入选项"); break; } }else{ System.out.println("请输入正确的数字:"); } } }