JDK7新特性

二进制字面量

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

switch语句可以用字符串

泛型简化

异常的多个catch合并

try..with...resource语句

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;

public class Test {
	public static void main(String[] args) throws Exception {
		// 二进制字面量
		int x = 0b100101;
		System.out.println(x);

		// 数字字面量可以出现下划线
		int y = 100_1000;
		System.out.println(y);

		// switch语句可以用字符串

		// 泛型简化
		ArrayList<String> array = new ArrayList<>();

		// 异常的多个catch合并

		// try..with...resource语句
		method1();// 旧版
		method2();// 改进版
	}

	private static void method1() {// 旧版
		try {
			FileReader fr = new FileReader("E:\\zikao\\file\\cs.txt");
			FileWriter fw = new FileWriter("E:\\zikao\\file\\cs1.txt");
			int ch = 0;
			while ((fr.read()) != -1) {
				fw.write(ch);
			}
			fw.close();
			fr.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	private static void method2() {// 改进版
		try (FileReader fr = new FileReader("E:\\zikao\\file\\cs.txt");
				FileWriter fw = new FileWriter("E:\\zikao\\file\\cs1.txt");) {
			int ch = 0;
			while ((fr.read()) != -1) {
				fw.write(ch);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
时间: 2024-10-05 20:35:14

JDK7新特性的相关文章

Java JDK版本(2) - JDK7 新特性

http://www.ibm.com/developerworks/cn/java/j-lo-jdk7-1/ JSR292:支持动态类型语言(InvokeDynamic) 近年来越来越多的基于 JVM 的动态语言的出现,对于 JVM 提出了新的需求和挑战.其实在 JDK6 中就已经支持 JSR223:Java 平台上的脚本语言,通过一个脚本语言引擎在 JVM 上执行 JavaScript 等脚本语言.但由于 JVM 本身的设计原来是针对 Java 这种静态类型语言的,所以脚本语言无论是解释执行,

JDK7新特性详细说明及代码示例

在2011年7月28日,Oracle发布了JDK7的正式版.最近我从网上搜集了一些资料,把文字说明和代码示例结合起来,方便我们的学习. 下面我们来看看JDK7比6多了哪些新特性 1.访问文件系统 与之前的JDK中通过java.io.File访问文件的方式不同,JDK7将通过java.nio.file包中的类完成.JDK7会使用java.nio.file.Path类来操作任何文件系统中的文件.(这里说的任何文件系统指的是可以使用任何文件存储方式的文件系统) 示例: Java7之前 File fil

JDK7新特性学习之 --- switch的表达式

JDK7之前,switch中表达式只能是char.byte.short.int及其对应的包装类和枚举类型.JDK7之后java中新增加了String类型作为switch的表达式之一. 但是在使用String类型作为表达式的时候,case语句有可能会出现重复的情况,例如字符串和其对应的Unicode转义字符,字面上是两个不同的字符串,但是在编译的时候,表示的都是一样的,所以会造成编译错误. 例如: /** * 会出现编译错误 */ public class Test{ public String

JDK的新特性

JDK5新特性 a,自动拆装箱 b,泛型 c,可变参数 d,静态导入 e,增强for循环 f,互斥锁 g,枚举 JDK7新特性 * A:二进制字面量 * B:数字字面量可以出现下划线 * C:switch 语句可以用字符串 * D:泛型简化,菱形泛型 * E:异常的多个catch合并,每个异常用或| * F:try-with-resources 语句 JDK8新特性 * 接口中可以定义有方法体的方法,如果是非静态,必须用default修饰 * 如果是静态的就不用了

重踏学习Java路上_Day27(反射,模式设计,jdk新特性)

1:反射(理解) (1)类的加载及类加载器 (2)反射: 通过字节码文件对象,去使用成员变量,构造方法,成员方法 (3)反射的使用 A:通过反射获取构造方法并使用 B:通过反射获取成员变量并使用 C:通过反射获取成员方法并使用 (4)反射案例 A:通过反射运行配置文件的内容 B:通过反射越过泛型检查 C:通过反射给任意的一个对象的任意的属性赋值为指定的值 (5)动态代理 2:设计模式 (1)装饰设计模式 BufferedReader br = new BufferedReader(new Inp

黑马程序员_JavaSE学习总结第27天_反射 &amp; 设计模式 &amp; JDK5、7、8新特性

------- android培训.java培训.期待与您交流! ----------  27.01  反射_类的加载概述和加载时机 类的加载:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载:就是指将class文件读入内存,并为之创建一个Class对象.任何类被使用时系统都会建立一个Class对象. 连接 验证 是否有正确的内部结构,并和其他类协调一致 准备 负责为类的静态成员分配内存,并设置默认初始化值 解析 将类的二进制数

JavaEE基础(二十七)/反射、JDK新特性

1.反射(类的加载概述和加载时机) A:类的加载概述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载  就是指将class文件读入内存,并为之创建一个Class对象.任何类被使用时系统都会建立一个Class对象. 连接 验证 是否有正确的内部结构,并和其他类协调一致 准备 负责为类的静态成员分配内存,并设置默认初始化值 解析 将类的二进制数据中的符号引用替换为直接引用 初始化 就是我们以前讲过的初始化步骤 B:加载时机 创建类

Java零基础系列002——命名、变量类型、类型转换、JDK中二进制整数和数字分隔符新特性

public class BasicDataType { public static void main(String[] args) { /* * 标示符:用于给变量.方法.类命名,必须以字母.下划线.$符号开头.以字母.下划线.数字.$符号组合,且不能为关键字 * * * */ System.out.println("--------------标示符------------"); int $,_,a;//正确的命名 int 彭驰=12;//由于Java内部采用Unicode编码方

JDK 5 ~ 10 新特性倾情整理!

JDK 5 ~ 10 新特性倾情整理! 最近连 JDK11都在准备发布的路上了,大家都整明白了吗?也许现在大部分人还在用6-8,8的新特性都没用熟,9刚出不久,10-11就不用说了. 为了大家对JDK有一个全面的了解,下面我为大家整理了JDK5~10的所有关键新特性! JDK5新特性 自动装箱与拆箱 枚举 静态导入 可变参数(Varargs) 内省(introspector) 泛型(Generic) For-Each循环 JDK6新特性 Desktop类和SystemTray类 使用JAXB2来