关键词:
我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。
上一节学习了流程控制语句,本节学习switch语句。
开始之前,我们先看一下上节的练习题。
一、练习题
if语句格式的练习:
1、获取两个数据中较大的值
2、判断一个数据是奇数还是偶数,并输出
程序执行结果如下:
二、switch语句
流程控制语句的选择结构
选择结构有两种语句,分别为如下:
if 语句
switch语句
前面已经对if语句做了探讨,本节往下一起了解下switch语句
switch语句
switch语句格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default;
语句体n+1;
break;
}
格式的解释:
switch:表示这是switch选择结构
表达式:这个地方的取值有限定的
byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面跟的是要和表达式进行比较的值
语句体:要执行的代码
break:表示中断和结束的意思,可以控制switch语句的结束
default:当所有的值和表达式不匹配的时候,就执行default控制的语句,其实就相当于if语句的else
执行流程:
首先计算出表达式的值和case依次比较
一旦有对应的值,就执行相应的语句体
在执行的过程中,遇到break就会结束
最后,如果所有的case都和表达式的值不匹配,就会执行default中的语句体,程序结束
思考:
byte可以作为switch的表达式吗?
long可以作为switch的表达式吗?
String可以作为switch的表达式吗?
实例:
键盘录入一个数据,根据这个数据,我们输出对应的星期
键盘录入1,对应输出星期一
键盘录入2,对应输出星期二
...
键盘录入7,对应输出星期日
实例分析:
1、键盘录入,用switch实现
2、判断我们可以使用if语句,也可以使用switch语句
程序代码:
程序执行结果:
可以省略,但是不建议,因为它的作用是对不正确的情况给出的提示。
特殊情况:case就可以把值固定的(单选项),可以考虑把default给省略
可以省略,不会报错,但是最终执行结果不是我们想要的,会出现case穿透现象。
不建议省略。
4、
不是,可以在任意位置,但是建议在最后,否则汇产生case穿透。
5、
遇到break就结束
下面我们针对相关实例看下注意实现的效果。
1、举例(同名case ID & 变量ID)
程序执行结果:
可见,case后面跟的必须是常量,不可以是变量,并且case后面的值不能相同。
2、举例(省略default语句)
程序执行结果:
可见,在swith语句中,default是可以省略的,但是最终会导致一些不正确的情况不被排除在外,可以正常输入。虽然省略default不会有报错,但不建议省略掉。
3、举例(省略break)
程序执行结果:
可见,在程序执行的时候,如果没有break进行程序中断,那么程序会依次按照顺序往下执行,直到遇到break才中止。虽然省略break不会有报错,但不建议省略掉,否则程序打印的结果会有误。
4、举例(default语句不放最后)
程序执行结果:
可见,如果default不放在最后,程序本身不会报错,但是最终执行的时候,会出现case穿透。
5、举例:(switch语句结束条件)
程序执行结果:
可见,在语句x,y中的,遇到了break就直接结束语句输出;
在语句a,b中,没有遇到break,则程序执行到最后才做输出。
1、随便出一个选择题,通过键盘录入,根据我们的选择来给出你的选择结果。
2、根据键盘录入的字符串,判断是否有满足要求的,如果有就输出否则,提示有误。
本节我们就先告一段落,下一节我们将学习循环结构语句
往期文章:
从0开始学大数据-java基础语法
我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。上一节了解Java的发展史和基本操作... 查看详情
从0开始学大数据-java基础开篇
我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。一、序言:2017年,这一年人才市场... 查看详情
从0开始学大数据-java基础-三元运算符/键盘录入
我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。上一节了解Java运算符,其中三元运... 查看详情
从0开始学大数据-java运算符
我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。上一节了解Java基础语法,本节我们... 查看详情
有java基础如何学习大数据?
...算机编程语言众多,常用的编程语言有Java,Python等,在开始学习大数据之前都会选择学习Java,那Java到底好在哪呢?为什么学大数据之前要先学Java呢?大数据人才越来越多的受到社会和企业的青睐,很多想要学习大数据的新人... 查看详情
大数据必学java基础(二十一):switch多分支结构介绍(代码片段)
文章目录Switch多分支结构介绍一、switch多分支结构(多值情况)二、练习Switch多分支结构介绍一、switch多分支结构(多值情况)语法结构:switch(表达式) case值1: 语句序列1; [break]; case值2: 语句序列2; [... 查看详情
java基础12----switch语句(代码片段)
...witch语句仅能支持char,int,String,枚举类型的数据的判断switch结构:switch(数据) case值: 条件满足时执行的语句 [break;] case值2: 条件满足时执行的语句 ... 查看详情
全集大数据java基础
...据课程的学习奠定了坚实的语言基础。 适用人群1.想学大数据没有语言基础的学员2.想学大数据没有Java语言基础的学员3.转行想学大数据的学员4.了解Java,大数据Jav 查看详情
从零开始学kotlin-控制语句
从零开始学Kotlin基础篇系列文章条件控制-ifvara=10varb=20if(a>b)print(a)if(a>b){print(a)}else{print(b)}valmax=if(a>b)aelsebif(ain1..10){print("a在1到10区间内")}条件控制-whenvalx=3when(x){1->print("x是1")2->print(" 查看详情
有java基础,如何学习大数据,该怎么开始?
因为学大数据前期的基础课程就是java和linux.既然你有java基础就省去了学习者部分课程的基础,而且上手会容易很多! 再说说还需要学习哪些大数据技术,可以按我写的顺序学下去。我还是要推荐下我自己创建的大数据资料... 查看详情
从零开始——go语言基础语法
学习任何一门语言,都要学习好基础,把基础打牢,那些框架对你来说都是工具,你自己的基础好,懂得了他们的原理,自己就可以创造更优秀的框架。现在带大家学习GO语言的基础语法,让您的编程路上不迷茫。JetBrainsGoLand2020... 查看详情
jep361:switch表达式(代码片段)
...提升功能点。下面简单回顾一下switch的进化阶段:从Java5+开始,Java的switch语句可使用枚举了。从Java7+开始,Java的switch语句支持使用String类型的变量和表达式了。从Java11+开始,Java的switch语句会自动对省略break导致的贯穿提示警告... 查看详情
从零开始学习javajava基础语法
从公司裸辞一个月,原本工作是做VB的,现在想从事java;在找工作的时候总是要什么项目经验,多少有些不爽,所有语言都有共通性,我就不信java有这么难?给自己点时间来学习。坚持一个月自学,看看自己的努力究竟有... 查看详情
从零开始学java-day17(代码片段)
多线程编程的两种实现方式extendsThread优点:缺点:后续变化小,局限性大implementRunnable优点:多实现,更加灵活且解耦缺点:写法相对复杂,一些资源需要借助Thread多线程数据安全隐患怎么产生?线程的随机性+访问延迟以后如... 查看详情
从零开始学kotlin-基础语法
从零开始学Kotlin-基础语法(1)注释//单行注释/*多行注释*//***多行注释*/ 定义变量/常量变量定义:var关键字var<标识符>:<类型>=<初始化值> 常量定义:val关键字,只能赋值一次的变量(类似Java中final修饰的变量... 查看详情
从零学java笔录-第0篇
从零学java笔录-第0篇写在前面的话:一直想把自己学习java的过程分享出去,以前只是太懒,最近工作又太忙。好不容易国庆了,整理了自己从零开始学java的笔记。以后无论在忙努力坚持每天至少发一到两篇。希望自己可以坚持... 查看详情
从零开始学opendaylight之基础环境
Justdoit! CodeisKing!一、基础环境 0.VMware-workstation+ Ubuntu-16.04; 1.JDK配置: 下载链接: http://www.oracle.com/technetwork/java/javase/dow 查看详情
从零开始系列-r语言基础学习笔记之二数据结构
在上一篇中我们一起学习了R语言的数据结构第一部分:向量、数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框、因子和列表。一、数据框类似于二维数组,但不同的列可以有不同的数据类型(每一列内的数据... 查看详情