理博软件实训部的小伙伴遇到这么一个问题就是,也会用if结构,也会用switch结构,但是二者有什么区别呢,我相信学Java的小伙伴也会遇到这种困扰,所以特地作一下对比。
switch选择结构和多重if选择结构比较:
相同点:
都可以判断多分支条件的结构
不通点;
switch选择结构 多用于判断等值判断 条件必须是 整型和字符型变量
if选择结构 多用于范围性判断 没有switch选择结构条件的限制(适合某个变量处于某个连续区间时的情况)
if选择结构
基本if选择结构: 处理单一或组合条件的情况
If-else选择结构:处理简单的条件分支情况
多重if选择结构:处理复杂的条件分支情况
嵌套if选择结构:用于较为复杂的流程控制
switch选择结构
多重分支并且条件判断是等值判断的情况
处理系统异常(用户输入异常)
Scanner对象的hasNextInt()方法,可以判断用户从键盘输入的字符是否是合法的数字(int类型数字)
注意:
Scanner对象的方法有很多 要使用时候需要根据自身需求(要求)选择方法使用
Scanner.nextInt();c从控制台扫描录入的值 要注意先判断是否合法在去录入信息
例如:
if(input.hasNextInt()){
int call = input.nextInt();
switch (call) {
case 1:
System.out.println("拨爸爸的号");
break;
case 2:
System.out.println("拨妈妈的号");
break;
case 3:
System.out.println("拨爷爷的号");
break;
case 4:
System.out.println("拨奶奶的号");
break;
default:
System.out.println("您还没有设置自动按键拨号!!!");
break;
}
}else{
System.out.println("您输入有误");
}