linux脚本中swith,BeanShell中switch语句
我的博客原址关于更多BeanShell的博文请单击此处
在 BeanShell 中,switch 语句不仅仅可以接收数值类型的参数还能传入对象类型。比如,你可以 switch 日期和字符串,相当于使用了他们各自的 equals() 方法比较相等:
代码实例
dateobj = newDate();
switch( dateobj )
{
casenewYears:
break;
casechristmas:
break;
default:
}
运行效果
上例中,首先创建“Date”类型的对象“dateobj”,两个字符串,通过 switch 语句传入“dateobj”。
经 过第一个case的时候,“dateobj”对象与“newYears”字符串进行比较。由于一个是日期类型,另一个是字符串类型,所以 “dateobj”通过自带的“toString()”方法转换成字符串类型后与之进行比较。显然是不相等的,所以进入第二个case继续进行比较。
最后两个case都不匹配,所以进入default,打印出“dateobj”的信息。顺便提一下,print(对象)相当于print(对象.toString())。
再看如下的效果:
唯 一的不同就是将“newYears”的值改变为数字“2012”。这样“newYears”就默认成为数值类型的变量。运行后出现了Error,显然是在 进行第一次case的时候,作为日期类型的“dateobj”没有变为数值类型的方法,所以出现mismatch的错误。
再看两个例子:
“i”和“j”都是 Integer 类型的类类型变量,case后相等,可见比较的是变量的值。
“i”为 Integer 类型的变量,“j”为不带类型的数值变量,“z”为int类型的变量。两个case比较后都相等,打印出相应信息。
总结
如果 switch 中传入的参数类型与 case 中的一致,则直接对值进行比较;否则,转换成一致的类型再进行比较。
linux脚本中swith,BeanShell中switch语句相关推荐
- linux脚本添加source,shell中的source命令的巧妙用法
首先,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如sourc ...
- eclipse中更改配置使得switch语句不出错
分别点击: windows---preference--->java---->compiler--->error/waring---->potential programmin ...
- linux脚本编写计算器,Shell中编写简单计算器
#!/bin/bash #2016-2-29 #于虎林 #思路如下 #1,判断有没有输入类容 #2,判断输入的是不是数值 #3,判断输入的运算符 #执行运算符操作 read -t 30 -p &quo ...
- c语言中point的用法_关于C语言Switch语句,先学这些技巧够不够?
一.C语言中switch的用法 1.switch后面括弧内的[表达式],ANSI标准允许它为任何类型: 2.当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,否则,就 ...
- Java SE 12扩展Switch语句/表达式完整指南
本文提供了Java SE 12扩展Switch语句/表达式的完整指南.文章详细介绍了扩展Java switch语句将其用作增强版switch语句或表达式.为帮助理解本文提供了具体案例. 本文要点 现在 ...
- 为什么不能在字符串上使用switch语句?
此功能是否将在以后的Java版本中使用? 有人可以解释为什么我不能这样做吗,例如Java的switch语句的技术方式? #1楼 Groovy轻而易举: 我嵌入了groovy jar并创建了一个groo ...
- Python 为什么不支持 switch 语句?
" 阅读本文大概需要 10 分钟. " 在这篇文章里,我们会聊一聊为什么 Python 决定不支持 switch 语句. 为什么想要聊这个话题呢? 主要是因为 switch 在其它 ...
- 用switch排两个数大小C语言,关于C语言Switch语句,先学这些技巧够不够?
一.C语言中switch的用法 1.switch后面括弧内的[表达式],ANSI标准允许它为任何类型: 2.当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,否则,就 ...
- c语言case多种情况,switch语句中有多种情况
有没有一种方法可以遍历多个case语句而不声明case value:重复? 我知道这可行: switch (value) { case 1: case 2: case 3: //do some stu ...
最新文章
- linux下find命令的使用和总结
- 【Docker】Docker操作常用命令
- 三个彩灯循环点亮程序_近百组彩灯点亮江畔,义渡灯会正式亮灯啦
- MySQL回闪_MySQL进行BINLOG回闪
- metrics类型 普罗米修斯_AspNet Core 下利用普罗米修斯+Grafana构建Metrics和服务器性能的监控...
- 【Vue】npm run serve 和 npm run dev 有什么区别
- HTML5:表单提交
- POJ_2117 Elcctricity (tarjan 求割点)
- jdk1.7 64位官方下载地址
- 在vue.js中实现a标签href tel的打电话功能
- C# 日期格式化的中的 正斜杠的问题
- python多元线性回归实例_利用Python进行数据分析之多元线性回归案例
- sass、scss、css、less
- 环回接口(loopback interface)
- 淘宝无货源与亚马逊无货源模式谁更好做?
- 基于DataEase的软件测试个人职业发展剧透
- 产品经理需求调研方法及注意事项
- telerik grid ajax,Telerik ajax 控件学习笔记 - Ajax
- 欧姆龙温控器参数笔记(一)
- 小唐说设计模式————策略模式篇
热门文章
- Python 3.6+Django开发入门小案例(自动变化的问候)完整步骤
- # 定义四边形_对特殊平行四边形核心梳理,拓展提升思维
- python中格式化_python的format格式化
- 多个key作为参数进行删除_作为开发人员这些Redis基础应该掌握
- 【数据结构----笔记3】插入排序算法之【直接插入排序】
- Linux关闭java命令,Linux系统关闭或重新启动主机的命令详解
- 将js对象转化为树形结构
- 力扣225. 用队列实现栈(JavaScript)
- ajax 请求_你了解前端出现Ajax跨域请求的原因吗?
- uni一t 说明书_不输特斯拉,站在UNI-T背后的长安「超级工厂」