这节我们看一下判断结构中的switch语句,也就是选择语句.
switch语句的格式如下:
~~~
switch(表达式)//这里的表达式只直持byte short int char这四种类型
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
......
default:
执行语句;
break;
}
~~~
注意表达式只直持byte,short,int和char这四种类型.
对于switch语句来说,无论表达式是什么,都会从第一个case开始执行,并且一般每case中都有break语句.
default语句可以省略,但一般不这么做,当case中没有对应的结果,就执行default语句.
记住:default语句可以放任case的位置,但是执行的时候defualt语句都是最后执行.
下面我们看一个switch用法的例子
~~~
class SwitchTest
{
public static void main(String[] args)
{
/*
用户输入的数据对应的出星期.
*/
int week = 5;//随意值
switch(week)//判断输入的数字,到下面的case中找答案,找到之后执行对应case中的语句.
{
case 1:
System.out.println(week+"对应的是星期一");
break;
case 2:
System.out.println(week+"对应的是星期二");
break;
case 3:
System.out.println(week+"对应的是星期三");
break;
case 4:
System.out.println(week+"对应的是星期四");
break;
case 5:
System.out.println(week+"对应的是星期五");
break;
case 6:
System.out.println(week+"对应的是星期六");
break;
case 7:
System.out.println(week+"对应的是星期七");
break;
default:
System.out.println(week+"没有对应的星期");
break;
}
/*
季节
*/
int month = 6;
switch(month)
{
case 3:
case 4:
case 5:
System.out.println(month+"月是春季");
break;
case 6:
case 7:
case 8:
System.out.println(month+"月是春季");
break;
case 9:
case 10:
case 11:
System.out.println(month+"月是春季");
break;
case 12:
case 1:
case 2:
System.out.println(month+"月是春季");
break;
default:
System.out.println(month+"月没有对应的季节");
break;
}
}
}
~~~
和上一节的例子对比,我们看到if语句和switch语句都实现了相同的季节选择,那我们就说说这两种语句的区别.
if:
1.对具体的值进行判断
2.对区间判断
3.对运算结果是boolean类型的表达式进行判断
switch:
1.对具体的值进行判断
2.值的个数通常是固定的
3.对于几个固定的值判断,建议使用switch语句,因为swich语句会将具体的答案都加载进内在
4.效率相对高一点
5.功能性较差
6.书写麻烦
- 前言
- 1.1 基本常识
- 1.2 Java语言概述
- 1.3 Java语言的环境搭建
- 1.4 Java程序开发之初体验--Hello World
- 2.1 关键字
- 2.2 标识符
- 2.3 注释
- 2.4 常量
- 2.5 进制扫盲
- 2.6 变量和数据类型(1)
- 2.7 变量和数据类型(2)
- 2.8 运算符
- 3.1 if语句
- 3.2 switch语句
- 3.3 while和do-while语句
- 3.4 for语句
- 3.5 for循环的嵌套
- 3.6 break语句与continue语句
- 4.1 函数的定义
- 4.2 定义函数的两个明确
- 4.3 函数的内存加载过程
- 4.4 函数的重载
- 5.1 数组的定义
- 5.2 数组的内存分配及特点
- 5.3 数组操作中常见问题
- 5.4 数组常用操作(1)
- 5.5 数组常用操作(2)
- 5.6 二维数组
- 6.1 面向对象的概述
- 6.2 类与对象的关系
- 6.3 对象的内存体现
- 6.4 成员变量与局部变量
- 6.5 类类型参数与匿名对象
- 6.6 基本数据类型参数与引用数据类型参数的传递过程
- 6.7 封装
- 7.1 构造函数概述与默认构造函数
- 7.2 构造函数与一般函数的区别
- 7.3 构造函数的重载
- 7.4 构造函数的内存加载
- 7.5 构造函数需要注意的几个细节
- 7.6 this关键字的原理
- 7.7 this关键字的细节与应用
- 8.1 static关键字之特点
- 8.2 成员变量与静态变量的区别
- 8.3 static关键字使用的注意细节
- 8.4 main函数的解析与细节
- 8.5 static关键字的使用场景
- 8.6 静态的内存加载
- 8.7 静态代码块
- 8.8 构造代码块
- 9.1 继承
- 9.2 单继承与多重继承
- 9.3 子父类中成员变量特征体现