Java 9 实测之交互式编程环境

Java 9 的代码由于提供了新特性,所以有些代码并不支持向后兼容。也就是说,用 Java 9 写的代码,有可能在 Java 8 或更早版本的 JDK 上不能运行。

1. 在操作系统上安装开发所需要的软件

首先,你需要下载 JDK 9 ( Java Development Kit 9 ) ,需要到此网站来 下载JDK 9 。首先需要先同意许可协议,然后就可以下载了。

Java 9 可以运行在很多平台上:

Windows 32-bit

Windows 64-bit

macOS 64-bit (formerly known as Mac OS X or simply OS X)

Linux 32-bit

Linux 64-bit

Linux on ARM 32-bit

Linux on ARM 64-bit

下一步需要配置 环境变量 。跟之前的 JDK 配置方法相同。这里,我以 macOS 10.12 版本为例,在 Macbook 上的配置。这里会需要 vi 的一些基本操作,可以去网上查找如何使用。

下载完 JDK 后,直接运行。然后安装目录在:
/library/Java/JavaVirtualMachines/jdk-9.jdk/

在 Terminal 下,进入到你的用户的当前目录下(一打开就是你的用户默认目录,实在不清楚在命令行敲入 cd 则会切换到默认目录下)。

在命令行中执行 ls -a 命令,列出当前目录下的包括隐藏的文件或目录。

Java 9 实测之交互式编程环境

ls -a

4.找到 .bash_profile 文件,此文件会影响你当前用户的配置信息,并执行 vi .bash_profile 命令编辑此文件。

Java 9 实测之交互式编程环境

vi .bash_profile

5.进入编辑页面后,配置 Java Home 和 Path 环境变量:

Java 9 实测之交互式编程环境

配置 Java 环境变量

6.配置完以后,使用 esc 键退出编辑状态,输入“:wq”,保存并退出。并执行

. .bash_profile ,使配置文件立刻生效。

在命令行下执行 javac -version ,如果输出如下信息,则说明 JDK 配置正确。

Java 9 实测之交互式编程环境

javac 9-ea

至此,JDK 配置完成。

启动JShell。

在Terminal下输 jshell -v ,

Java 9 实测之交互式编程环境

jshell

此时,就进入JShell 开发环境,命令行里是以 jshell> 开头。

如果想退出JShell 环境,则输入 /exit 命令。

Java 9 实测之交互式编程环境

退出 jshell

2. 理解在交互式编程环境下开发的好处

Java 9 中引入了交互式编程环境(REPL),这就是JShell,它允许可以执行 Java脚本代码,并且立即返回结果。因此,我们不需要创建什么一个解决方案或工程,就能很容易地编写代码并能很快的看到运行结果。我们不必等待整个项目 build 完去检查多行代码的执行结果。JShell,就像其他 REPL 一样,有利于探索式编程,我们很容易地进行交互式尝试和调试不同的算法和结构。

3. 第一个 JShell 下的 Java 代码

我们简单写一个 JShell 下的一个 Java 代码,就是一个打印输入。

System.out.println("Hello, Java 9, now I am in JShell!")

输出结果为:

Java 9 实测之交互式编程环境

第一个 JShell 下的 Java 代码

Tips

在 JShell 环境下,语句末尾的“;” 是可选的。但推荐还是最好加上。提高代码可读性。

在一些例子中,我们将利用JShell 这一特性,提供对网络的访问。此功能与Web Service交互时非常有用。然而,你必须确保你的防火墙配置不会阻挡 JShell。

4. 查看默认导入和使用自动补全功能

默认情况下,JShell提供了一些常用包的导入,我们可以使用 import 语句导入必要的包或是从指定的路径的包,来运行我们的代码片段。我们可以输入以下命令列出所有导入的包:

/imports

下面就会列出已经导入的包:

Java 9 实测之交互式编程环境

imports

当我们在 JShell 之外写 Java 代码时,如所需要的 java.lang 包是默认导入的。在 JShell 下使用 /imports 命令并没没有列出这些包,以下是所有的在 JShell 环境下默认导入的包:

java.lang

java.io

java.math

java.net

java.nio.file

java.util

java.util.concurrent

java.util.function

java.util.prefs

java.util.regex

java.util.stream

此外,JShell 提供了自动补全的功能,只需按下 Tab 键,就能自动补全。

但有些情况下,根据我们输入的语句会对应很多选项,这时候 JShell 就会全部给你列出来。

例如,当我输入 S 时,就会列出来所以以 S 开头的类。

Java 9 实测之交互式编程环境

自动补全

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b78dea51dd611fef1f76cf1a23bb7157.html