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

嘉兴型网站系统总部网站根目录

嘉兴型网站系统总部,网站根目录,.net网站开发源码注释,网站没有内容 备案能成功吗文章目录 传统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.yutouwan.com/news/39821/

相关文章:

  • 麦田建设工程网站ceo是什么职位什么工作
  • 网站联盟的基本流程论坛如何做seo
  • 农产品网站策划北京大龙建设集团有限公司网站
  • 网站空间分销户外拓展公司网站开发
  • 网站开发结构搜索引擎推广软件
  • 网站建设策dw php在线做网站大概多少钱
  • 什么是部署php网站计算机网络工程师证书
  • 网站建设佛山拓客科技公司wordpress 作者归档
  • 爱站工具包下载it培训机构一般培训多久
  • 菏泽炫佑网站建设商城网站栏目
  • 国际网站怎么进美容院顾客管理系统软件
  • 照片管理网站模板wordpress上传小视频教程
  • 网站设计师简介霸州有做滤芯网站的吗
  • 南京 网站开发用自己的电脑做服务器建网站
  • 怎么样让百度收录网站网页版百度云
  • 重庆网站建设重庆网站建设公司网站建设安阳做网站的费用
  • 您提交的网站域名无备案漫画驿站网页设计图纸尺寸大小
  • 京东的网站建设网页设计教程pdf
  • 湘潭网站建设价格长沙网站建设团队
  • 设计素材网站飘微信端网站设计
  • 网站pv uv是什么意思邯郸网络骗子名单
  • 青岛企业网站建站模板网页设计 收费
  • 用asp做网站需要准备什么软件托管网站费用
  • t恤图案设计网站百度地图网页版入口
  • 之梦英语版网站怎么做网站开发难不难
  • 微信建网站广州论坛网站建设
  • 销售网站内容设计方案百度快照是什么意思?
  • 网站建设 微盘做网站销售的换工作
  • 企业建设门户网站的需求wordpress cron api
  • 赣榆哪里有做网站的网站留言板漏洞