java语句中switch_Java中的switch-case语句

在codewar里使用了以下switch-case语句,不熟练出错,所以记录一下。

class ArithmeticFunction {

public static int arithmetic(int a, int b, String operator) {

int result=0;

switch(operator){

case "add":

result=a+b;

case "subtract":

result=a-b;

case "multiply":

result=a*b;

case "divide":

result=a/b;

}

return result;

}

}

先来看标准语句格式

switch(expression){

case value1:

//语句

break;//可选

case value2:

//语句

break;//可选

default://可选

//语句

}

switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串类型了,同时 case 标签必须为字符串常量或字面量;

当变量的值与case语句匹配时,语句开始执行下去,直到遇到break才会跳出switch;

可以在最后包含一个default分支,在没有匹配到所有case时执行,default分支不需要break语句。

主要在以下两点:

改变result值的语句在switch里,局部变量的值改变不会影响括号外,所以result仍然是0;

如果把result放switch里,也不行,会抛出无return语句的异常,所以只能放外面;

没有break语句,改变result的语句就作用在switch语句块内,加上break就可以了。

default一般抛一个异常throw new IllegalArgumentException(“”);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用valgrind检测内存问题

valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。1valgrind安装可以到官网下载最新的源码包:valgrind官网下载,也可以直接使用 c_utils/debug/valgrind 目录提供的 valgrind-3.13.0.tar.bz2 源码包。首先解压源码包tar xjf valgri…

[转]一个人脸检测器

//本文使用到Emgu.CV库,该库是C#语言对OpenCV的封装,以下是一个列子程序的改正版本。using System; using System.Collections.Generic; using System.Text; using Emgu.CV.Structure; using Emgu.CV;namespace VSL.Plugin.TrackingSystem.SimpleTrackin…

项目中cxf和weblogic整合时报错的问题

GJYW项目使用的weblogic版本是10.3.6,cxf使用的版本是3.1.4 在将项目部署到weblogic服务器上时就会报错,通过下面的方式可以解决weblogic和cxf框架在一起报错的问题(解决了本项目报错的问题,未必全部适用):…

下周开幕!给深圳的嵌入式和电子工程师准备的嘉年华来了

我和电子圈老江认识了很久,应该是2012年,小龙第一次参加电子圈年会,那年他年会中奖的奖品送给我。后来,我也加入了电子圈的QQ群,早些年的时候,大家都喜欢在QQ群聊天,后来才慢慢转到微信群。老江…

java过去配置文件的值_java对.properties配置文件操作

实现运用Java.util.Properties来进行对.properties配置文件操作。配置文件实例:如debug.properties#Tue Mar 21 15:46:17 CST 2017#keyvalueremote.debug.prot7451第一步写个获取文件路径的外部方法//-in- String filePath:配置文件名如debug.properties…

AS3.0中的显示编程(末篇)-- 滤镜(下)

剩下的三种滤镜,因为我自己也不是很懂矩阵啊这些的,只能做些简单的范例和说明了,抱歉!颜色矩阵滤镜、卷积滤镜、置换图滤镜这三种滤镜只能通过AS代码实现。如果说上面的六种滤镜,只是在原图的基础上做些简单的修改&…

这几个朋友,我记得

‍‍昨天的中秋节是在公司加班度过的,末了,在群里看到有人说要是今天还有人加班的话,那他一定是真正的卷王,好了,我是那个中秋节加班的卷王。早上打车去公司,快到公司楼下的时候,司机师傅跟我说…

HOWTO:如何修改InstallShield的运行环境

版权声明: 可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。在InstallShield中,存在一些运行环境的变量,如果我们做了某种选择,之后可能将不再提示,说不定什么时候又想改回来呢,找不到地…

杭电java期末试卷2015_2014年杭州电子科技大学Java期末试卷.doc

2014年杭州电子科技大学Java期末试卷.doc杭州电子科技大学学生考试卷( A )卷考试课程Java语言程序设计考试日期2014年 6月 16日成 绩课程号教师号任课教师姓名考生姓名学号(8位)年级专业注意:所有答案均写在答卷上,写在试卷上无效;(一)单选题(每题2分&am…

深入理解Java线程池:ThreadPoolExecutor

线程池介绍 在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理。如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题: 如果并发的请求数量非常多,但每个线程执行的时间…

看嵌入式大神直播,送开发板!

这是一场嵌入式学习者不可错过的直播……以往拿到一个开发板,还要花费时间找资料,向有经验的朋友请教测试过程现在,在捷客直播间,嵌入式大神现场教学,手把手教你如何使用开发板开发一款智能设备9月26日晚,看…

iphone上如何绘制饼图(使用CGContextAddArc)(原创)

CGContextAddArc是一个比较强大的函数,建议仔细看一下iphone的开发文档。 CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, intclockwise) CGContextRef: 图形上下文x,y: 开始画的坐标radius: 半径s…

java实现itchat_GitHub - Xiazki/itchat4j: wechatbot 的java实现,简单搭建了基本框架和实现了扫码登陆,具体网页微信api请参考...

itchat4j 微信自动回复机器人-------------- --------------- ---------------| | | | | || Get UUID | | Get Contact | | Status Notify || | | | | |------------- -------^------- -------^-------| | || ------- --------| | |-------v------ ------------- -------------…

华为宣布:免费培养8000名开发者! 学习免费!实验免费!考证免费!

很多朋友都想储备一些不同领域的新技术以便未来有更好的发展但目前市面上各种教程质量良莠不齐而且想要掌握高阶的开发技术需要耗费大量的时间和精力So,华为云特别推出 互联网技能加油站包含物联网、Python、AI等五大领域,核心技术赋能构建全面技能体系现…

ruby

官网 http://www.ruby-lang.org/en/ https://ruby-china.org/ DOC http://ruby-doc.com/docs/ProgrammingRuby/ http://ruby-doc.org/core-2.2.1/ 六个最酷的Ruby on Rails项目 https://www.ctocio.com/ccnews/20453.html Rake: Ruby中任务构建工具rake的入门 https://www.cnbl…

java 两个点球面距离_计算球面两点间距离实现Vincenty+Haversine

vincenty公式 精度很高能达到0.5毫米,但是很慢。Haversine公式半正矢公式,比vincenty快,精度没有vincenty高,也长使用。-------------------------------------------openlayers中实现的Vincenty-------------------------------…

送20个鼠标垫

之前发的朋友圈,里面晒了一个鼠标垫,大家都挺喜欢的,这次决定送30个给大家,没有什么规则,直接抽奖就好了。在下方的公众号回复【1001】获取抽奖小程序。因为之前好几次抽奖,因为时间比较长导致大家忘记填写…

angularjs的表单验证

angularjs的表单验证 废话&#xff1a;angular的热度在减小&#xff0c;但是老项目依旧是angular的&#xff0c;就是不能丢&#xff0c;得会 干活直接上代码  <!DOCTYPE html> <html> <head><!-- CSS --><link rel"stylesheet" href&qu…

越老越值钱,除了程序员!

-我们见过太多靠经验、资历“镀金”的职业。司机、教师、医生、律师、会计……这些职业的薪资待遇、社会地位、声誉等等都会随着从业时间的增长而变得越来越高、越来越好。“老”这个字&#xff0c;对于这类的职业来说&#xff0c;更像是褒奖。大家对于“资深”的他们&#xff…

Visual Studio 2010授权修改

为什么80%的码农都做不了架构师&#xff1f;>>> 参见以下步骤&#xff1a; 32位的系统中&#xff0c;修改以下注册表键值 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Registration\UserName HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Curr…