Minecraft(我的世界)中文论坛
标题: JAVA语言零基础学习 扩展篇 switch控制语句
作者: 简单 时间: 2013-7-15 15:24
标题: JAVA语言零基础学习 扩展篇 switch控制语句
本帖最后由 海螺螺 于 2020-1-25 16:07 编辑
索引贴:http://www.mcbbs.net/thread-138969-1-1.html
这一章的内容比较少,只是为了补完条件语句,等下还有一章。
条件语句:http://www.mcbbs.net/thread-141338-1-1.html
之前我们说了条件语句中的if,现在我们来说说另一个条件语句switch,英文好一点的同学知道,if是如果的意思,而switch有开关的意思。
如果把if语句翻译成我们能的语言就是:如果怎样就。而嵌套则是:如果怎样就如果怎样就。“就”(判断完成后)的后面还是一个判断。
而switch呢?如它的翻译一样,这是一个开关。
接下来我们将为大家详细的说明一下switch的用法,开关之意就很好理解了。
基本格式
- switch(变量)
- {
- case 条件1:命令1;
- break;
- case 条件2:命令2;
- break;
- case 条件3:命令3;
- break;
- defaut:命令4
- }
复制代码 我们来看代码
- public class book {
- public static void main(String[] args)
- {
- int a=1;
- switch(a)
- {
- case 1:
- System.out.println("a=1");
- break;
- case 2:
- System.out.println("a=2");
- break;
- default:
- System.out.println("都不是诶");
- }
-
-
- }
- }
复制代码 结果看下面
a=1
为什么是这个?
很好理解对吧?
关键字switch后面括号里的变量是需要判断的变量.
case 后面的是一个固定的常量,变量值对于固定常量的时候,执行冒号后的语句.break,跳出判断.
而default这表示除此之外的情况的处理.
我们在需要大量判断的时候,很明显,switch比if更加优越.
每一个case语句后面都更着一个break.什么意思?
我们来看看另一个程序
- public class book {
-
- public static void main(String[] args)
- {
- int a=1;
- switch(a)
- {
-
-
- case 1:
- System.out.println("a=1");
- case 2:
- System.out.println("a=2");
- break;
- default:
- System.out.println("都不是诶");
-
-
- }
- }
- }
复制代码 结果
a=1
a=2
有什么不对吗?
实际上在没有break进行终止的情况下,这个语句将会从判断对的地方开始,下面的全部执行.
如果我将里面的另一个break也去掉会发生什么?
- public class book {
-
- public static void main(String[] args)
- {
- int a=1;
- switch(a)
- {
-
-
- case 1:
- System.out.println("a=1");
- case 2:
- System.out.println("a=2");
- default:
- System.out.println("都不是诶");
-
-
- }
- }
- }
复制代码 结果是
再来看,如果把上面的a赋值为2呢?
代码我就不发了,这时的输出是
a=2
都不是诶
发现问题了吗?在判断成功后中断语句,这就是break的作用.意义不明?我们再来看一个程序.我们可以用这个来判断.
- public class book {
-
- public static void main(String[] args)
- {
- int a=7;
- switch(a)
- {
-
-
- case 1:
- case 2:
- case 12:
- 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;
- default:
- System.out.println("一年只有十二个月好吗!!!");
-
-
- }
- }
复制代码
输出是
蔚蓝的夏天
怎么样~很不错是吧.
最后要注意的一点,default一定放在最后?当然不是,其实它可以放在任何位置.
完
作者: a438079631 时间: 2013-7-15 15:27
虽不明但觉厉。但是顶一个。
作者: huangshihan9900 时间: 2013-7-18 17:16
!!!!!!!!!!!!!!!!!
作者: 简单 时间: 2013-7-18 17:17
huangshihan9900 发表于 2013-7-18 17:16 
!!!!!!!!!!!!!!!!!
太水小心删帖扣分。
作者: huangshihan9900 时间: 2013-7-22 17:34
下次不会了
作者: cpulws 时间: 2013-7-22 23:03
各种语言的switch都差不多
作者: wqrmcbbs 时间: 2013-8-12 16:07
顶顶顶顶顶
作者: 饕餮魍魉枭蹀躞 时间: 2013-8-27 09:44
好顶啊
作者: qihuansheji 时间: 2013-10-4 18:33
000000
作者: xiashangyu 时间: 2013-10-27 11:11
赞个 
作者: qq3922382 时间: 2013-11-2 09:11
让我猜可能我猜不出来
作者: 313549211 时间: 2013-11-2 09:20
感觉有点像C啊!!
作者: 1123fff 时间: 2013-11-15 01:43
回复查看教程隐藏内容
不是水··是准备学习Java先回帖,
不然手机无法回复看不了
作者: richtofen 时间: 2013-11-30 19:03
先看看
作者: cyz886 时间: 2013-12-8 16:01
学习了{:10_523:}
作者: 384 时间: 2014-1-3 12:48
很牛很强大👍
作者: xiurichie 时间: 2014-1-7 19:07
......人家是来看教程的,不是来回复的
作者: Cyanogen 时间: 2014-1-9 22:53
回复看看
作者: 擦拭 时间: 2014-1-11 09:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: 氢氦锂uuo 时间: 2014-1-19 17:54
好好好好好好好好好好
作者: hsk001ufo 时间: 2014-1-20 10:33
设置结果回复可见啥心态=。=大家不会自己编译么
作者: 简单 时间: 2014-1-20 12:57
hsk001ufo 发表于 2014-1-20 10:33 
设置结果回复可见啥心态=。=大家不会自己编译么
目的就是让大家自己编译试试。。但是,看看多少人回复是为了看答案就知道了。。我也好奇。。自己编译运行下不就出来了么。。{:10_524:}
作者: 新手求教 时间: 2014-2-9 08:27
为什么都要回复啊T T
作者: ◎◎◎◎◎◎ 时间: 2014-2-12 17:36
看结果还要回复= =[gold_sword]
作者: 1025891364 时间: 2014-2-12 23:27
好复杂啊,不懂。
作者: 754042967 时间: 2014-2-16 11:08
输出结果是什么?
作者: HGK 时间: 2014-2-16 11:16
好深奥啊.....再多看几遍
作者: awt2003 时间: 2014-2-16 16:54
{:10_513:}
作者: 搅腋潭 时间: 2014-2-16 20:10
mcbbs有你更加精彩~
作者: qq578021633 时间: 2014-2-18 23:54
吊炸天,看看~
作者: Azrael_Kun 时间: 2014-2-22 19:59
求答案{:10_492:}
作者: alan08 时间: 2014-2-24 20:37
b?d?c?s?f?gui?bi?g?bu?f?c?bi?u?w?c?f?d?bi?u?cu?b?g?i?f?d?w?bi?u?ga?d?f?c?bu?g?i?d?w?f?c?bu?g?f?d?w?ci?u?b?g?f?c?d?b?w?gu?g?b?f?i?du?c?w?b?gu?w?f?c?d?bu?g?c?w?d?fu?i?g?b?d?c?f?w?i?b?gu?e?f?c?w?b?gui?c?f?we?g?iu
作者: 2629418114 时间: 2014-2-25 08:47
根本看不懂。
作者: wurr1989 时间: 2014-2-25 09:45
回帖看结果
作者: heng2c23 时间: 2014-2-27 19:12
OP 超好用的拉@@ 感恩
作者: 979710155 时间: 2014-3-20 14:08
fdffffffffffffffffff
作者: 593088930 时间: 2014-3-23 21:15
回复看内容。。
作者: 940258230 时间: 2014-3-26 12:05
。。。。。。
作者: 1759760728 时间: 2014-4-3 20:01
(⊙v⊙)嗯。。。。。。学习ing。。。。。。
作者: 164400720 时间: 2014-4-6 11:39
本帖最后由 164400720 于 2014-4-6 11:41 编辑
懂了..............................
作者: shaoyu 时间: 2014-4-8 20:04
ssssssssssssssssssssss...boom
作者: 暗凌 时间: 2014-4-20 19:18
MCBBS有你更精彩 谢谢LZ的教程
作者: 494308843 时间: 2014-4-25 22:14
- - 。。。。。。回个复。。。。
作者: XUU 时间: 2014-4-26 20:02
感觉有点看不懂
作者: XUU 时间: 2014-4-26 20:02
感觉有点看不懂
作者: 30080190A 时间: 2014-5-3 11:06
正努力看懂中。。。
作者: yh957083453 时间: 2014-5-10 10:28
讲解的简单易懂,不错,我已经猜到了输出结果
作者: wsliang 时间: 2014-6-13 17:24
woyaodaina
作者: 43999077 时间: 2014-6-28 22:18
用心良苦。。。
作者: 84491135 时间: 2014-6-29 12:34
还好我有点基础。。估计没基础的看完大部分都去撞墙了。。。
作者: Csgbshgf 时间: 2014-7-9 16:33
switch最无爱了QAQ
作者: Bryan33 时间: 2014-7-19 20:08
我赌5毛输出是a=1
作者: zdy000608 时间: 2014-7-20 22:41
有些看不懂呢....
作者: svd36kkla2 时间: 2014-8-1 19:01
好!很好!非常好!
作者: 萝卜吃米洛 时间: 2014-8-6 21:30
我凑,竟然全都看懂了。。
作者: hezhi998 时间: 2014-8-6 22:21
这种语言不是基础语言么?貌似现在都是运用c语言吧。。
好吧正好学习学习
作者: 修改器很好玩 时间: 2014-8-8 09:49
我要看回复可见
作者: wjhuuuu 时间: 2014-8-14 10:24
楼主你太帅了
作者: taotianrui 时间: 2014-8-14 22:26
顶一个~{:10_512:}
作者: a526026058 时间: 2014-8-15 13:02
回复看看
作者: 54牛X 时间: 2014-8-15 19:37
为什么还要先回复这么麻烦?
作者: 2697287132 时间: 2014-8-18 08:45
{:10_513:}................................................................................................
作者: a1123497159 时间: 2014-8-28 08:18
{:10_512:}{:10_512:}
作者: hiddentest 时间: 2014-8-28 12:08
0.0....好神器的干嚼
作者: nepanda 时间: 2014-9-1 17:29
.................
作者: hspdh413 时间: 2014-9-5 07:20
支持支持,感谢楼主的分享~~~~ *?゜??*:.?..?.:*?'(*?▽?*)'?*:.?. .?.:*?゜??*
作者: ycysyxx 时间: 2014-9-5 12:13
我只是求结果
作者: 我不叫杨浩 时间: 2014-9-8 06:42
呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵
作者: 142562356 时间: 2014-9-8 12:19
- - - - --
作者: jiongjionger 时间: 2014-9-11 14:29
break的意义是符合条件执行分支内的代码然后[at]中断[/at]
作者: 出来混, 时间: 2014-9-11 18:55
一起学JAVA 的有没有 加我QQ=。- 一起学 我有教程 970695276
作者: ycysyxx 时间: 2014-10-3 13:38
看答案~~~~~~~~~~~~~~~~~~~~~·
作者: 110000 时间: 2014-10-5 13:01
顶顶顶顶顶顶顶顶顶顶顶
作者: nielang008 时间: 2014-10-17 17:37
楼主辛苦了
作者: 流年菌 时间: 2014-10-18 07:14
虽然不知道是啥,不过好像很NB,顶{:10_512:}{:10_505:}
作者: 灌水DE游客 时间: 2014-10-18 08:11
标题: 有时候我觉得java还没有cmd好用
本帖最后由 灌水DE游客 于 2014-10-18 08:13 编辑
if exist lz msg %username% /time:10 2333333
) ELSE (
goto continueprocess
)
:Continueprocess
cls
echo cmd大神小心路过一下
pause>nul
作者: Folsiti 时间: 2014-10-18 14:42
楼主好腻害
作者: THXBR2 时间: 2014-10-19 20:59
额好邪恶这个方法求回复
作者: 1592239141 时间: 2014-10-20 11:24
本帖最后由 1592239141 于 2018-8-15 15:29 编辑
看不懂a.a路过
作者: 504560256 时间: 2014-10-20 13:40
刚刚接触JAVA学习。。来瞅瞅,顺便膜拜下。
作者: chaoji_x 时间: 2014-10-20 15:55
怎么还有回复可见的东西
作者: 熊熊肉乎乎 时间: 2014-10-20 17:42
看看Default是什么时候执行地~
作者: a1358996505 时间: 2014-11-1 08:57
谢谢分享
作者: ZSYQWEZ 时间: 2014-11-8 22:51
又来看教程啦
作者: yykt123 时间: 2014-11-19 18:17
十分感谢
作者: 死扑街 时间: 2014-12-1 15:12
?????????
作者: sq2861619 时间: 2014-12-1 22:44
这个我是真心看完立马就蒙了 , 一点基础都没有
作者: 949138278 时间: 2014-12-2 11:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: herry0627 时间: 2014-12-3 20:08
我也是剛學java@@ 進來學習學習
作者: zhangqinglian 时间: 2014-12-4 15:16
学习了{:10_492:}
作者: 天鹅 时间: 2014-12-4 20:10
,lz好人,不会java的福音
作者: xx1743160565 时间: 2014-12-8 21:18
楼主棒!
作者: VarietyAir丶 时间: 2014-12-16 16:53
ihihihihihihihihihi
作者: liuyipeng001 时间: 2014-12-16 20:22
很难的样子......
作者: MC创始者 时间: 2015-1-22 11:17
很好,挺容易理解的
作者: 哦是小白 时间: 2015-1-22 15:03
( ̄ε(# ̄)☆╰╮o( ̄皿 ̄///)凑字数、、、、回复
作者: 1234567654321 时间: 2015-1-22 20:28
答案是a=1
作者: xuhuixuan163 时间: 2015-1-24 17:41
Mcbbs有你更精彩~
作者: cheesewoo 时间: 2015-1-27 07:56
楼主高大上
作者: 战斗大师 时间: 2015-1-28 11:22
我其实是来看隐藏的{:10_522:}