switch语句的使用格式

JDK5以后可以是枚举

JDK7以后可以是字符串

case:后面的值就是要和表达式进行比较的值

break:表示程序到这里中断,跳出switch语句

default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else

可以,不可以,JDK7以后可以

A:首先计算表达式的值

B:和每一个case进行匹配,如果有就执行对应的语句体,看到break就结束。

C:如果没有匹配,就执行default的语句体n+1。

A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。

case就可以把值固定。

可以省略,但是结果可能不是我们想要的。

会出现一个现象:case穿透。

不是,可以在任意位置。但是建议在最后。

b:执行到末尾就结束了

//然后把case后面的值改为number,就会报错

A:键盘录入一个数字(1-7),输出对应的星期几。

C:键盘录入一个字符串的问题

D:根据给定的月份,案例:

键盘录入一个数据,根据这个数据,我们输出对应的星期? 键盘录入1,对应输出星期一 键盘录入2,对应输出星期二 键盘录入7,对应输出星期日 2:判断我们既可以使用if语句,也可以使用我们要讲解的switch语句 A:遇到左大括号缩进一个tab的位置。 B:关联不是很大的语句间空行 A:出一个选择题,然后供你选择。 B:键盘录入选择的数据。 C:根据选择来给出你选择的结论。 //出一个选择题,然后供你选择。 //由于我们现在没有办法键盘录入得到一个'A','B' //这样的东西,我就用65,66这样的值替代 //将来我们获取到这样的值以后,强制转换为字符类型 //键盘录入选择的数据。 //强制转换为字符类型 根据你键盘录入的字符串,判断是否有满足要求的,如果有就输出。 用switch语句实现键盘录入月份,输出对应的季节 A:键盘录入一个月份,用Scanner实现 A:针对结果是boolean类型的判断 B:针对一个范围的判断 C:针对几个常量值的判断 //这样写太麻烦了,我们使用一个我们不想使用的东西:case穿透

for(初始化语句;判断条件语句;控制条件语句){

如果这里是true,就继续

如果这里是false,循环就结束

a:判断条件语句无论简单还是复杂,结果是boolean类型

b:循环体语句如果是一条,可以省略大括号,但是不建议

c:有分号就没有左大括号,有左大括号就没有分号

g:在控制台打印水仙花数

j:统计1-1000之间同时满足如下条件的数据有多少个

for(初始化语句;判断条件语句;控制条件语句) { B:执行判断条件语句,看其返回值是true还是false 如果是true,就继续执行 如果是false,就结束循环 A:判断条件语句无论简单还是复杂结果是boolean类型。 B:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。 C:一般来说:有左大括号就没有分号,有分号就没有左大括号 //这种做法不好,代码的重复度太高。 //所以呢,我们用循环改进 需求:请在控制台输出数据1-10 //如何改进呢?用循环改进 需求:求出1-10之间数据之和 由此可见我们要定义两个变量: 一个变量用于存储第一个加数,第一个加数其实保存的是以前的所有数据和。默认初始化值应该是0。 一个变量用于存储第二个加数,第二个加数其实就是每次的数据变化的值。 //这里的x其实是第二个加数 C:求出1-100之间奇数和(自己做) //这里的x其实可以直接从2开始 天将降大任于斯人也,必先盗其QQ,封其微博,收其wifi,夺其手机。让其静心学习Java欧耶。 需求:在控制台输出所有的”水仙花数” 我们都不知道什么叫"水仙花数",你让我怎么做呢? 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 举例:153就是一个水仙花数。 A:三位数其实是告诉了我们范围。 B:通过for循环我们就可以实现获取每一个三位数 但是麻烦是如何获取这个三位数的个,十,百位上的数据 我们如何获取一个数据的个,十,百呢? 假设有个一个数据:153 如果相同,就把该数据在控制台输出。 //三位数其实是告诉了我们范围。 //如果相同,就把该数据在控制台输出。 需求:统计”水仙花数”共有多少个 A:首先必须知道什么是水仙花数 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 举例:153就是一个水仙花数。 B:定义统计变量,初始化值是0 C:三位数告诉了我们范围,用for循环就可以搞定 D:获取每一个三位数的个,十,百的数据 F:如果满足要求就计数。 //定义统计变量,初始化值是0 //三位数告诉了我们范围,用for循环就可以搞定 //获取每一个三位数的个,十,百的数据 //如果满足要求就计数。 请在控制台输出满足如下条件的五位数 个位+十位+千位+万位=百位 A:五位数就告诉了我们范围。 B:分解每一个五位数的个,十,百,千,万位上的数据 C:按照要求进行判断即可 //五位数就告诉了我们范围。 //分解每一个五位数的个,十,百,千,万位上的数据 //按照要求进行判断即可 需求:请统计1-1000之间同时满足如下条件的数据有多少个: A:定义统计变量,初始化值是0 B:1-1000之间是一个范围,用for很容易就可以实现。 C:每个数据要同时满足如下要求 D:如果满足条件,统计数据++即可,最后输出统计变量 //定义统计变量,初始化值是0 //1-1000之间是一个范围,用for很容易就可以实现。 每个数据要同时满足如下要求

通过查看这个格式,我们就知道while循环可以和for循环等价转换。

while循环的基本格式: 通过这个格式,我们就可以看到其实和for循环是差不多的。 for(初始化语句;判断条件语句;控制条件语句) {

把for语句的练习用while改进

练习:用while循环实现 左边:求出1-100之和 右边:统计水仙花数有多少个 for(初始化语句;判断条件语句;控制条件语句) { 需求:统计水仙花数有多少个

for语句的那个控制条件变量,在循环结束后不能在使用了。

而while的可以继续使用。

for适合于一个范围的判断

while适合次数不明确的

使用区别:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。 因为变量及早的从内存中消失,可以提高内存的使用效率。 其实还有一种场景的理解: 如果是一个范围的,用for循环非常明确。 如果是不明确要做多少次,用while循环较为合适。 //这里不能在继续访问了 //这里是可以继续访问的

b:小芳存钱问题(break以后才能做)

我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。 请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度? A:定义一个统计变量,默认值是0 B:最高山峰是珠穆朗玛峰:8848m这是最终的厚度 我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度 C:我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度? 折叠一次有什么变化呢?就是厚度是以前的2倍。 D:只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++ //定义一个统计变量,默认值是0 //最高山峰是珠穆朗玛峰:8848m这是最终的厚度 //我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度 //只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++ //折叠一次有什么变化呢?就是厚度是以前的2倍。 需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是, 每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱, 请问,经过多少天,小芳才可以存到100元钱。 A:小芳的妈妈每天给她2.5元钱 D:经过多少天,小芳才可以存到100元钱。 E:这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱, 说明要判断dayCount的值,如果对5整除就减去6元钱。 由此还隐含了一个问题,就是如果不是5的倍数天的话,钱要累加 F:因为不知道是多少天,所以我用死循环,一旦超过100元我就退出循环。 //每天要存储的钱是2.5元 //存钱的初始化值是0 //最终存储不小于100就不存储了 //因为不知道是多少天,所以我用死循环, //一旦超过100元我就退出循环。
3,switch语句中止的条件是遇到了break关键字或者结束switch语句的大括号。 4,若是匹配的case或者default没有对应的break,那么程序会继续向下执行,运行能够执行的语句,直到遇到break或者switch结尾结束。 5,switch case中的值必需要与switch表达式的值具备相同的数据类型。并且case后跟的值必须是常量,不能跟变量。 备注:JDK5.0增长了枚举类型,JDK7.0开始switch能够使用字符串类型的数据.
    1. case后跟的是冒号:
    2. 每一个case中的执行语句必定要加break; 练习:

广州松田职业学院C语言程序设计实训报告 PAGE PAGE 1 实训-switch语句 实训名称 switch语句 学院(系) 机电与信息工程 专业班级 姓名 学号 任课教师 杨晓红 实训时间 一、【实训目的】 (1) 熟练掌握switch语句的语法格式; (2) 熟练掌握switch语句的执行过程; (3) 熟练掌握选择结构程序的设计方法。 二、【实训内容】 一. 必做题 1. 运用switch语句实现两个数简单的四则运算(+,-,*,/)。具体的输入/输出格式如下: 输入格式: 请输入第一运算数:8.0 请输入运算符:+ 请输入第二个运算符:9.0 输出格式: 8.0+9.0=17.00 源代码: 运行结果截图: 2. 编写一个简单的计算器,程序运行的效果和输入/输出格式如下图所示: 源代码: 运行结果截图: 选做题 4. 在计算机中输入某年某月某日,判断这一天是这一年的第几天? 源代码: 运行结果截图: 三、【实训总结】(本部分必须填写,否则本次实训作业无效)

我要回帖

更多关于 正确的switch语句是 的文章