JDK7的新特性:

  1. 二进制字面量
  2. 数字字面量可以出现下划线
  3. switch 语句可以用字符串
  4. 泛型简化
  5. 异常的多个catch合并
  6. try-with-resources 语句

二进制字面量

JDK7开始,终于可以用二进制来表示整数(byte,short,int和long)。

使用二进制字面量的好处是,可以使代码更容易被理解。语法非常简单,只要在二进制数值前面加 0b或者0B

举例:

int x = ob110110

数字字面量可以出现下划线

为了增强对数值的阅读性,如我们经常把数据用逗号分隔一样。JDK7提供了_对数据分隔。

  举例:

i  nt x = 100_1000;

注意事项:

  •   不能出现在进制标识和数值之间
  •   不能出现在数值开头和结尾
  •   不能出现在小数点旁边

try-with-resources 语句

格式:

  try(必须是java.lang.AutoCloseable的子类对象){…}

好处:

  • 资源自动释放,不需要close()了
  • 把需要关闭资源的部分都定义在这里就ok了
  • 主要是流体系的对象是这个接口的子类(看JDK7的API)

代码举例:

 public class Demo {
public static void main(String[] args) {
// 二进制字面量
int x = 0b100101;
System.out.println(x);
// 数字字面量可以出现下划线
int y = 1_1123_1000;
// 不能出现在进制标识和数值之间
int z = 0x111_222;
// 不能出现在数值开头和结尾
int a = 0x11_22;
// 不能出现在小数点旁边
double d = 12.3_4;
// switch 语句可以用字符串。之前用过
// 泛型简化
ArrayList<String> array = new ArrayList<>();
// 异常的多个catch合并
method();
} private static void method() {
// try-with-resources 语句
// try(必须是java.lang.AutoCloseable的子类对象){…} try {
FileReader fr = new FileReader("a.txt");
FileWriter fw = new FileWriter("b.txt");
int ch = 0;
while ((ch = fr.read()) != -1) {
fw.write(ch);
}
fw.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
} // 改进版的代码
try (FileReader fr = new FileReader("a.txt");
FileWriter fw = new FileWriter("b.txt");) {
int ch = 0;
while ((ch = fr.read()) != -1) {
fw.write(ch);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

最新文章

  1. git远程库GitHub
  2. [转]linux shell数据重定向(输入重定向与输出重定向)详细分析
  3. python基础(六)循环
  4. Codeforces Round #268 (Div. 2) ABCD
  5. Start cluster zookeeper in shell script
  6. 推荐《Linux 多线程服务器端编程》
  7. Call-time pass-by-reference has been deprecated
  8. pwntools安装使用方法
  9. C++ 常量类型 const 详解
  10. centos7基于samba服务配置实例
  11. VS2017 启动调试报错无法启动程序 当前状态中非法
  12. Google Chrome等浏览器不允许关闭点击跟踪??
  13. 【题解】Luogu P5251 [LnOI2019]第二代图灵机
  14. Django使用Channels实现WebSocket--下篇
  15. SpingBoot二——引入MySql数据库
  16. python3.6执行AES加密及解密方法
  17. 二进制状态压缩dp(旅行商TSP)POJ3311
  18. VC孙鑫老师第八课:你能捉到我吗?
  19. JSOI 2017 Round 1滚粗记
  20. mysql查询各种类型的前N条记录

热门文章

  1. URL 路径长度限制(错误:指定的文件或文件夹名称太长)
  2. 完美解决AutoCAD2012,AutoCAD2013本身电脑里有NET4.0或以上版本却装不上的问题
  3. .Net关闭数据库连接时判断ConnectionState为Open还是Closed?
  4. Android读取自定义View属性
  5. Android Activity生命周期详讲
  6. 优化MySchool数据库(存储过程)
  7. sdk的目录结构及其功能
  8. json对象转为字符串,当做参数传递时加密解密
  9. Learning The Bash Shell读书笔记(整理)
  10. SQL Server 2012实施与管理实战指南(笔记)——Ch6连接的建立和问题排查