一:
switch选择结构可以更好地解决等值判断问题
switch(表达式){
case 常量1:
//代码块1;
case 常量2:
//代码块2;
break;
default:
//代码块n;
break;
}
1.switch:表示“开关”,这个开关就是switch关键字后面小括号里表达式的值,JDK1.7后,switch语句小括号里可以是int,short,byte,char,枚举类型,string类型表达式。
2.case:表示“情况 ,情形,”case后可以是int,short,byte,char,枚举,string类型,通常是一个固定的值。case块可以有多个,顺序可以改变,但每个case后的常量的值必须各部相同。
3.default:表示“默认”,即其他情况都不满足。default后要紧跟冒号。default块和case块的先后顺序可以变动,不会影响程序执行的结果。通常,default块放在末尾,也可以省略。
4break:表示:“停止”,即跳出当前结构。
注意:每个case后的代码块可以有多个语句,即可以有一组语句,而且不需要用“{}”括起来。case的default后都有一个冒号,不能漏写,否则编译不通过。对于每个case的结尾,都要想一想是否需要从这里跳出整个switch结构。如果需要,一定不要忘记写“break"。
二:
案例
韩嫣参加计算机编程大赛
如果获得第一名,将参加麻省理工大学组织的1个月夏令营
如果获得第二名,将奖励惠普笔记本电脑一部
如果获得第三名,将奖励移动硬盘一个
否则,不给任何奖励
1 public class Demo01 { 2 public static void main(String[] args) { 3 Scanner input = new Scanner(System.in); 4 System.out.println("请输入名次:"); 5 char count = input.next().charAt(0); 6 switch (count) { 7 case '一': 8 System.out.println("参加麻省理工1个月夏令营 "); 9 break; 10 case '二': 11 System.out.println("奖笔记本电脑一部"); 12 break; 13 case '三': 14 System.out.println("奖励移动硬盘一个"); 15 break; 16 default: 17 System.out.println("没有奖励!"); 18 break; 19 } 20 } 21 }
三:
总结选择结构:
if选择结构
1.基本if选择结构: 处理单一或组合条件的情况
2.if-else选择结构:处理简单的条件分支情况
3.多重if选择结构:处理复杂的条件分支情况
4.嵌套if选择结构:用于较为复杂的流程控制
5..switch选择结构
多重分支并且条件判断是等值判断的情况
四:
使用hasNextInt()解决用户从控制台输入为非整型问题
案例:
1 public class Demo02 { 2 public static void main(String[] args) { 3 Scanner input=new Scanner(System.in); 4 System.out.println("欢迎光临我行我素管理系统"); 5 System.out.println(" 1.登录系统"); 6 System.out.println(" 2.退出"); 7 System.out.println("请选择:"); 8 9 if(input.hasNextInt()) 10 { 11 int number=input.nextInt(); 12 switch (number) { 13 case 1: 14 System.out.println("欢迎登录系统!!"); 15 break; 16 case 2: 17 System.out.println("您退出了系统!!"); 18 break; 19 default: 20 System.out.println("没有输入选项"); 21 break; 22 } 23 24 25 }else{ 26 System.out.println("请输入正确的数字:"); 27 } 28 } 29 }