Oracle于2011年7月28日发布JDK7,这是Oracle自2010年4月收购Sun之后第一次对JDK进行升级,升级版本的jdk7的发布距离今天已有4年多的时间了,随着jdk7在开发中的使用越来越广泛,也为了在实际使用中更好的使用jdk7,现在为大家分享下jdk7在语法上的部分新特性:
1.整数二进制字面量表示
从JDK7开始支持使用二进制字面量来表示整数(byte、short、int、long)。直接使用二进制数来表示整数会让我们的代码看起来更加容易理解了。其使用语法也非常简单,只要在二进制数值前面加 0b(b不区分大小写)即可。为了方便介绍,这里的二进制数只使用四位(不是计算机内部二进制数的真实位数)来表示。示例如下:
比如二进制数2
使用byte类型表示为: byte bt=(byte)0b0010; //2
使用short类型表示为:short st=(short)0b0010; //2
使用int类型表示为:int it=0b0010; //2
使用long类型表示为:long ln=0b0010L; //2
2.下划线在数字字面量中的使用
在现实世界里人们表示一些较大的数字时,为了增加数字的可读性,通常会这么做,如:10000000被表示为10,000,000。大家不难看出被使用分割表示的数字在读数时非常轻松,且不易出错。那么在编程中能否借鉴这种表示方式呢?答案是肯定的。自jdk7提供了一种解决方案,对于一些比较大的数字,可以使用下划线对数字进行分割。示例如下:
比如整数:10,000,000
使用int表示为 int i=10_000_000; //10000000
再比如小数:10,000,000.0
使用float表示为 float f=10_000_000.0f; //1.0E7
以上方法非常简单的就解决了数字易读性的问题,但是要注意:这个用于分割数字的下划线只能用在数字之间。不能用在以下几个地方:
1.数字的开头或结尾处;
如: int i=10_000_000_; 下划线在结尾处是错误的用法
2.小数点的前或后;
如:float f=10_000_000_.0f; 下划线在小数点的前面是错误的用法
3.后缀f(f不区分大小写)的前或后;
如:float f=10_000_000.0_f; 下划线在后缀符号f的前面是错误的用法
3.switch语句对字符串的支持
我们知道java中switch语句对常量表达式的数据类型是有限制的,只能是短整型、整型、byte或字符型。这种限制给我们的实际应用带来了诸多不便,以致于在实际使用中我们尽可能的绕过switch语句(因为在程序中字符串的使用频率是最高的,所以通常我们会使用if-else-if代替之)。然而自jdk7打破了这种限制,添加了switch语句对字符串的支持,那么从现在开始我们可以爱上这位美丽的switch语句了。具体示例如下:
System.out.println("请选择您的祖国:");
switch("中国"){
case "中国":
System.out.println("我爱死你了,我美丽的祖国!");
break;
case "兔儿起":
System.out.println("我怎么就顶下了饿锅的飞机昵!");
break;
case "饿锅":
System.out.println("天杀的兔儿起,额和你没完!");
break;
case "蓄力牙":
System.out.println("额们的地沟油怎么就溜到你兔儿起去了昵!");
break;
default:
System.out.println("妹锅大哥应该说句公道话昵!");
}
本文版权归传智播客
Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!