当前位置: 首页 > news >正文

四会市住房和城乡建设局网站建设银行的登录网站

四会市住房和城乡建设局网站,建设银行的登录网站,网站建设上传文件,wordpress 金融主题文章目录 传统switch声明语句的弊端#xff1a;JDK12中预览特性#xff1a;JDK13**JDK17的预览特性#xff1a;switch的模式匹配** 传统switch声明语句的弊端#xff1a; 匹配是自上而下的#xff0c;如果忘记写break#xff0c;后面的case语句不论匹配与否都会执行JDK12中预览特性JDK13**JDK17的预览特性switch的模式匹配** 传统switch声明语句的弊端 匹配是自上而下的如果忘记写break后面的case语句不论匹配与否都会执行 —case穿透所有的case语句共用一个块范围在不同的case语句定义的变量名不能重复不能在一个case里写多个执行结果一致的条件整个switch不能作为表达式返回值 //常见错误实现 switch(month){case 3|4|5://3|4|5 用了位运算符11 | 100 | 101结果是 111是7System.out.println(春季);break;case 6|7|8://6|7|8用了位运算符110 | 111 | 1000结果是1111是15System.out.println(夏季);break;case 9|10|11://9|10|11用了位运算符1001 | 1010 | 1011结果是1011是11System.out.println(秋季);break;case 12|1|2://12|1|2 用了位运算符1100 | 1 | 10 结果是1111是15System.out.println(冬季);break;default:System.out.println(输入有误); }JDK12中预览特性 Java 12将会对switch声明语句进行扩展使用case L -来替代以前的break;省去了 break 语句避免了因少写 break 而出错。 同时将多个 case 合并到一行显得简洁、清晰也更加优雅的表达逻辑分支。 为了保持兼容性case 条件语句中依然可以使用字符 : 但是同一个 switch 结构里不能混用 - 和 : 否则编译错误。 举例 Java 12之前 public class SwitchTest {public static void main(String[] args) {int numberOfLetters;Fruit fruit Fruit.APPLE;switch (fruit) {case PEAR:numberOfLetters 4;break;case APPLE:case GRAPE:case MANGO:numberOfLetters 5;break;case ORANGE:case PAPAYA:numberOfLetters 6;break;default:throw new IllegalStateException(No Such Fruit: fruit);}System.out.println(numberOfLetters);} } enum Fruit {PEAR, APPLE, GRAPE, MANGO, ORANGE, PAPAYA; }switch 语句如果漏写了一个 break那么逻辑往往就跑偏了这种方式既繁琐又容易出错。 Java 12中 public class SwitchTest1 {public static void main(String[] args) {Fruit fruit Fruit.GRAPE;switch(fruit){case PEAR - System.out.println(4);case APPLE,MANGO,GRAPE - System.out.println(5);case ORANGE,PAPAYA - System.out.println(6);default - throw new IllegalStateException(No Such Fruit: fruit);};} }更进一步 public class SwitchTest2 {public static void main(String[] args) {Fruit fruit Fruit.GRAPE;int numberOfLetters switch(fruit){case PEAR - 4;case APPLE,MANGO,GRAPE - 5;case ORANGE,PAPAYA - 6;default - throw new IllegalStateException(No Such Fruit: fruit);};System.out.println(numberOfLetters);} }JDK13 JDK13中引入了yield语句用于返回值。这意味着switch表达式(返回值)应该使用yieldswitch语句(不返回值)应该使用break。 yield和return的区别在于return会直接跳出当前循环或者方法而yield只会跳出当前switch块。 在以前 Test public void testSwitch1(){String x 3;int i;switch (x) {case 1:i1;break;case 2:i2;break;default:i x.length();break;}System.out.println(i); }在JDK13中 Test public void testSwitch2(){String x 3;int i switch (x) {case 1 - 1;case 2 - 2;default - {yield 3;}};System.out.println(i); }或者 Test public void testSwitch3() {String x 3;int i switch (x) {case 1:yield 1;case 2:yield 2;default:yield 3;};System.out.println(i); }JDK17的预览特性switch的模式匹配 旧写法 static String formatter(Object o) {String formatted unknown;if (o instanceof Integer i) {formatted String.format(int %d, i);} else if (o instanceof Long l) {formatted String.format(long %d, l);} else if (o instanceof Double d) {formatted String.format(double %f, d);} else if (o instanceof String s) {formatted String.format(String %s, s);}return formatted; }模式匹配新写法 static String formatterPatternSwitch(Object o) {return switch (o) {case Integer i - String.format(int %d, i);case Long l - String.format(long %d, l);case Double d - String.format(double %f, d);case String s - String.format(String %s, s);default - o.toString();}; }直接在 switch 上支持 Object 类型这就等于同时支持多种类型使用模式匹配得到具体类型大大简化了语法量这个功能很实用。
http://www.sadfv.cn/news/93973/

相关文章:

  • 少部分网站ie打不开这些网站域名ping不通西安烽盈网站建设推广
  • 电子商务网站建设计划东莞十大保安公司
  • 网站转换率哈尔滨建筑工程招聘信息
  • 网站建设方案交换认苏州久远网络广州天河区租房哪里便宜
  • 搭建网站 在线浏览功能网站改版什么意思
  • 推荐成都网站建设中国建设银行官方网站纪念钞预约
  • 肥东建设网站兰州网络公司有哪些
  • google网站搜索深圳十大设计事务所
  • 网站seo外链建设营销案例网站
  • 专业制作网站 地摊做钢材的做什么网站效果好
  • 河源市网站建设公司安康创宇网站建设
  • 什么是网站建设从哪些方面建设网站大连网站网站建设
  • 凡科网做网站视频wordpress 微博时间
  • 在线音乐网站开发教程西安网站建设制作 熊掌号
  • 最新的高端网站建设上海小程序定制开发公司
  • 小公司要不要建设网站怀仁建设局网站
  • 东莞网站排名自己做网站并让别人访问
  • 学生网站建设实训总结九州建网站
  • 北京制作网站多少钱鸽WordPress主题
  • 湛江建站费用电商设计和ui设计哪个前景比较好
  • 如何通过html做网站建筑网页
  • 伦教网站开发竞价推广代运营服务
  • 郑州优化网站关键词wordpress输入html代码
  • 汽车网站有哪些上海网站建设官方网站
  • 网站后台管理系统php滴滴出行的网站是哪家公司做的
  • 在线支付 网站模板大连flash网站
  • 怎么样做好网站运营肥城网站建设哪家好
  • 在线制作网站的平台嘉兴网站建设公司就找嘉乐网络
  • 微擎做网站费用首页关键词排名
  • 网站开发好要租服务器吗优秀产品vi设计手册