一.jdk的重点版本:
1.2 原始类型与对应的包装类不用显式转换
1.5 有任意个参数,把他看作数组
1.6 增强的for循环语句
1.7 Java7的虚拟机对多种动态程序语言增加了支持,比如:Rubby、 Python等等
switch中可以使用字符串
1.8
一、接口的默认方法
Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法。
二、Lambda 表达式
在Java 8 中你就没必要使用这种传统的匿名对象的方式了,Java 8提供了更简洁的语法,lambda表达式:
Collections.sort(names, (String a, String b) -> {
return b.compareTo(a);
});
三、函数式接口
Lambda表达式是如何在java的类型系统中表示的呢?每一个lambda表达式都对应一个类型,通常是接口类型。而“函数式接口”是指仅仅只包含一个抽象方法的接口,
每一个该类型的lambda表达式都会被匹配到这个抽象方法。因为 默认方法 不算抽象方法,所以你也可以给你的函数式接口添加默认方法。
四、方法与构造函数引用
Java 8 允许你使用 :: 关键字来传递方法或者构造函数引用,上面的代码展示了如何引用一个静态方法,我们也可以引用一个对象的方法:
converter = something::startsWith;
String converted = converter.convert("Java");
System.out.println(converted);
五、Lambda 作用域
在lambda表达式中访问外层作用域和老版本的匿名对象中的方式很相似。你可以直接访问标记了final的外层局部变量,或者实例的字段以及静态变量。
六、访问局部变量
可以直接在lambda表达式中访问外层的局部变量:
七、访问对象字段与静态变量
和本地变量不同的是,lambda内部对于实例的字段以及静态变量是即可读又可写。该行为和匿名对象是一致的:
1.11 主要是增加了一些字符串的方法,比如isEmpty(), isBlank()判断是否为空,strip() trim()去除字符串前后空格等等。
查找资料了解新特性->提问
二.java执行机制
编写源代码.java->编译器-->字节码文件.class-->对应平台上解释器-->解释执行
解释过程又称二次编译的过程
java是跨平台的
JVM给了java跨平台的能力
class文件跨平台,class文件是二进制的文件
三.jdk的安装
傻瓜式安装
注意: 安装路径修改问题
四.环境变量配置:
目的: 想要能够在任意路径下都能找到执行javac,java命令
配置: 计算机右键->高级系统设置->环境变量->系统变量->path->jdk的bin目录配置进去D:\install_path\Java\jdk-11.0.7\bin
注意:
修改过环境变量就需要重新打开cmd
五.编写HelloWorld
选择显示文件扩展名: 查看->显示扩展名
1.新建一个文件修改文件名,后缀名
2.编写源代码
3.通过一个javac命令对源文件进行编译,变异成一份.class结尾的字节码文件 javac HelloWorld.java
4.通过java命令对class文件里面的类进行解释执行 java HelloWorld
例:
public class helloworld{ public static void main(String[] args){ System.out.println("Hallo world"); } }