黑马程序员技术交流社区
标题: 第20课:多路分支switch [打印本页]
作者: 滔哥 时间: 2014-8-14 15:59
标题: 第20课:多路分支switch
现在我们想要一个程序,输入一个1~7之间的数字,然后将其转换为星期几的形式并用英文输出。我们用if...else if就可以做到这件事情,比如:
- if ( week == 1 )
- System.out.println(“Monday”);
- else if ( week == 2 )
- System.out.println(“Tuesday”);
- else if ( week == 3 )
- System.out.println(“Wednesday”);
- else if...
复制代码
哎呀,看到上面这一堆代码就快要崩溃啦!那么,有没有更简单的方法呢?那就是我们要讲到的switch语句。switch语句的格式如下:
- switch ( 表达式 )
- {
- case 值1 : 语句1;break;
- case 值2 : 语句2;break;
- ...
- default : 语句;
- }
复制代码
switch语句会先计算括号中表达式的值,然后将这个结果值与下面的case语句后的值进行比较,如果相同的话,就执行紧跟着它的语句块,然后利用break跳出这个switch。如果这个结果值在所有的case语句中都找不到相同的值,那么就执行default后面的语句块。
那么,如果在case语句后没有break语句会发生什么呢?它就会一直向下执行,直到遇见break或者将整个switch执行完毕。所以,一个不小心就会把所有的语句都执行一遍哦!
这节课只是简单介绍一下switch语句,下节课我们就要自己动手写一下,完成输出星期几的那个小程序。
作者: liqiaohui 时间: 2014-8-14 16:39
switch语句用的少 都快忘记了
作者: 李章敏 时间: 2014-8-14 17:43
很不错的总结啊
作者: 一顿一只牛 时间: 2014-8-14 21:12
if ( week == 1 )
System.out.println(“Monday”);
else if ( week == 2 )
System.out.println(“Tuesday”);
有点地方忘了。请问楼主,
if ( week == 1 )
System.out.println(“Monday”);break;
这样子后面的语句是不是不管怎样都不会执行了啊
作者: 钟翠翠 时间: 2014-8-15 11:01
滔哥辛苦 必须顶起!
作者: 滔哥 时间: 2014-8-15 16:00
break之后不再循环 continue结束本次循环后 再开始下一次的循环
break还可以用在switch/case中,用来结束条件匹配,道理和在循环中一样
作者: 丁夏宁 时间: 2014-8-16 00:31
很好很强大
作者: 恣意的豆腐 时间: 2014-8-16 08:45
用的少,巩固一下
作者: 依然超级赛亚人 时间: 2014-8-16 10:04
switch处理情况有限,次数明确的判断来说不错。
作者: ⋛⋌⋚JEEP 时间: 2014-8-16 15:30
复习一下switch,练一练
- import java.io.BufferedInputStream;
- import java.util.Scanner;
- public class Operator {
- public static void main(String[] args) {
-
- System.out.println("请输入一个1~7之间的数字:");
- Scanner input = new Scanner(new BufferedInputStream(System.in));//键盘录入
- int num= input.nextInt();//等待键盘录入并接收int型数据
- String[] strArr = //搞个星期的列表出来,对照的调用,看着舒服点
- {"","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
- switch(num) {//传入键盘录入的值
- case 1:System.out.println(strArr[num]);break;
- case 2:System.out.println(strArr[num]);break;
- case 3:System.out.println(strArr[num]);break;
- case 4:System.out.println(strArr[num]);break;
- case 5:System.out.println(strArr[num]);break;
- case 6:System.out.println(strArr[num]);break;
- case 7:System.out.println(strArr[num]);break;
- default:System.out.println("您输入的数不在范围内,请重新输入!");
- }
- }
- }
复制代码
作者: 华谦 时间: 2014-8-17 10:24
比较少用这个
作者: 唐覃利 时间: 2014-8-18 16:31
看看
作者: 月夜小楠 时间: 2014-8-18 17:33
赞一个!!!
作者: liqi 时间: 2014-8-18 18:44
都快忘了
作者: 王远洋 时间: 2014-8-18 18:52
很好 ,很给力
作者: 天邃任我桓 时间: 2014-8-18 21:30
今天学的,再看一边,还是有收获!
作者: 张星 时间: 2014-8-18 22:11
学好长时间了,还有一些印象!
作者: 渴望学习 时间: 2014-8-19 10:15
学习了
作者: 迦南 时间: 2014-8-19 10:41
写的不错,辛苦了
作者: 不淡定,小学生 时间: 2014-8-19 13:19
最不喜欢Switch了。。
作者: 毛富强 时间: 2014-8-20 09:40
有点印象了。
作者: wfaly 时间: 2014-8-23 23:08
楼主,辛苦了
作者: 思如涌泉 时间: 2014-8-26 08:06
记得大学第一次编程就是用 swict语句完成生活实例情况
作者: 28了还能学吗 时间: 2014-8-26 10:42
回帖是一种美德 看不懂 顶
作者: 柳超 时间: 2014-9-1 23:26
掌心学习
作者: ╃→梅飛揚之城 时间: 2014-9-2 12:04
谢谢,又明白点了
作者: 好听就好 时间: 2014-9-2 12:31
看了,总结的主体知识。具体的还要自己学习。
作者: 塞肥肥塞牙人 时间: 2014-9-3 11:29
观摩观摩,学习了
作者: 黄凯旋 时间: 2014-9-7 22:19
直接来看总结
作者: 无尽落寞 时间: 2014-10-11 12:56
不看都忘了
作者: (づ ̄_3 ̄)づ 时间: 2014-10-14 12:09
滔哥辛苦
作者: 王世虎 时间: 2014-10-22 16:13
哈哈 回帖 混个脸熟
作者: java_student 时间: 2014-10-27 09:25
这个可以替代查表法呀!
作者: wingtheu 时间: 2014-11-6 09:13
if 和switch
作者: 红楼 时间: 2014-12-18 19:20
看见了switch 就想到了 default可以在最前也可以现在最后,default后的break也可以不写,
作者: Ogre 时间: 2014-12-18 23:44
之前我才看到9,怎么就20了?
作者: heimaheima123 时间: 2014-12-20 00:15
class Switch
{
public static void main(String[] args)
{
//需求1:根据用户的给定的数值,显示该数值对应的星期。如:2,星期二。
int week = 9;
switch(week)
{
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;
}
}
}
作者: 武xiao 时间: 2014-12-23 21:22
:(没有看到多线
作者: 82387737 时间: 2014-12-23 22:24
不错!赞!
作者: lby369 时间: 2014-12-29 23:13
本来以为switch语句就那几个模式,应该在工作中用到的时候不多,看了这个,其实发现这个语句还是很实用的。
作者: 云淡风轻517 时间: 2015-4-29 16:42
不错,赞一个
作者: 七月飘雪 时间: 2015-6-12 18:35
赞一个~!
作者: fanhongwei1105 时间: 2016-5-24 21:48
ji ben shang hen shao yong dao le
作者: wendaogds 时间: 2016-5-24 22:48
恩,学过这里,点进来就是为了增加人家.给楼主点赞
作者: zjy9399 时间: 2016-9-8 19:58
如果有一整套的就好了
作者: newu 时间: 2016-9-9 09:02
很好 ,很给力
作者: wjhsyy 时间: 2016-10-5 18:44
有用,总结的很好很容易理解
作者: baby14 时间: 2019-6-21 09:00
多谢分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |