前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JDK1.7新特性(1):Switch和数字

JDK1.7新特性(1):Switch和数字

作者头像
SecondWorld
发布2018-03-14 12:05:07
6820
发布2018-03-14 12:05:07
举报
文章被收录于专栏:Java开发者杂谈Java开发者杂谈

Switch

jdk1.7的switch语句增加了对字符串类型的支持。其实现的原理是通过字符串的hash值来比较的,代码示例如下:

代码语言:javascript
复制
1 String name = "KiDe";
2 // Welcome the owner!
3 switch (name) {
4     case "KiDe":
5         System.out.println("Welcome the owner!");
6         break;
7     default:
8     System.out.println("Welcome the other!");
9 }        

不过需要注意的是,即使新增了对字符串的支持。但是如果该字符串有特殊含义且多次在代码中被使用,还是应该使用enum类型来代替直接的字符串switch。

数字

jdk1.7之后对数字的改动主要包括两方面,

  一是对二进制字面常量的支持,同数字前面加0表示八进制,加0X表示16进制,前面加0B表示二进制,代码示例如下:

代码语言:javascript
复制
1 // 支持二进制字面常量(以0b或者0B开始)
2 System.out.println(0b00011);    // 3
3 System.out.println(0B10011);    // 19

  二是出于对数字易读性的考虑,支持数字之间以"_"分隔,而不影响数字原来的值。出于对编译器实现简单的考虑,下划线的添加地方也很讲究,不支持将下划线添加在数字开头或者末尾,也不支持将下划线添加在数字的小数部分开头。这样编译器在处理的时候,只需将下划线抹掉,就能得到原来的数字。

代码语言:javascript
复制
1 // 数字之间支持以下划线来区分,其中的下划线可以是一个也可以时多个。
2 int a = 1_23_2__34;
3 float b = 1_112.1__1_2f;
4 System.out.println(a);        // 123234
5 System.out.println(b);        // 1112.112

  通过这个改动其实可以发现,java的发展也在越来越向人性化发展,再不影响运行效率的前提下,为其他可扩展的方面做了很多努力。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档