switch语句的结构及注意事项
switch语句
1 格式:
switch(表达式) {
case 值1:
语句1;
break;
case 值2:
语句2;
break;
…
default:
语句n+1;
break;
}
举例:
需求:键盘录⼊⼀个⽉份,来判断季节
3,4,5 春季
6,7,8 夏季
9,10,11 秋天
12,1,2 冬天
//导包
/
/(⽤switch判断⽉份)
import java.util.Scanner;//导包
class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);//创建键盘录⼊对象
System.out.println(“请您输⼊⽉份:”);//提⽰接收数据
int month= sc.nextInt();
int num = 3;
switch(month){ //使⽤switch语句
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
default:
System.out.println("⾮法数据..."); break;
}
}
}
格式解释说明:
switch:说明这是switch语句。
switch case判断字符串表达式:可以是 byte,short,int,char(JDK5以后可以是枚举类型(enum),JDK7以后可以是字符串(例如:St
ring) case:后⾯的值就是要和表达式进⾏⽐较的值,如果匹配成功,就执⾏语句;如果不匹配,继续和case语句中的值2⽐较. break:表⽰程序到这⾥中断,跳出switch语句
default:如果所有的情况都不匹配,就执⾏这⾥.
2 注意事项:
(1):case后⾯只能是常量,不能是变量,⽽且,多个case后⾯的值不能出现相同的
(2):break可以省略吗?
可以省略,但是结果可能不是我们想要的。
会出现⼀个现象:case穿透。
建议不要省略
import java.util.Scanner;//导包
class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);//创建键盘录⼊对象
System.out.println(“请您输⼊⽉份:”);
int month= sc.nextInt();
int num = 3;
switch(month){
case 3:
case 4:
case 5:
System.out.println("春季");
case 6:
case 7:
case 8:
System.out.println("夏季");
case 9:
case 10:
case 11:
System.out.println("秋季");
case 12:
case 1:
case 2:
System.out.println("冬季");
default:
System.out.println("⾮法数据...");
}
}
}
(3):default⼀定要在最后吗?
不是,可以在任意位置。但是建议在最后。
import java.util.Scanner;//导包
class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);//创建键盘录⼊对象System.out.println(“请您输⼊⽉份:”);
int month= sc.nextInt();
int num = 3;
switch(month){
default:
System.out.println(“⾮法数据…”);
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论