Java 9 的代码由于提供了新特性,所以有些代码并不支持向后兼容。也就是说,用 Java 9 写的代码,有可能在 Java 8 或更早版本的 JDK 上不能运行。
下一步需要配置 变量 。跟之前的 JDK 配置方法相同。这里,我以 macOS 10.12 版本为例,在 Macbook 上的配置。这里会需要 vi 的一些基本操作,可以去网上查找如何使用。
在 Terminal 下,进入到你的用户的当前目录下(一打开就是你的用户默认目录,实在不清楚在命令行敲入 cd 则会切换到默认目录下)。
在命令行下执行 javac -version ,如果输出如下信息,则说明 JDK 配置正确。
Java 9 中引入了交互式编程(REPL),这就是JShell,它允许可以执行 Java脚本代码,并且立即返回结果。因此,我们不需要创建什么一个解决方案或工程,就能很容易地编写代码并能很快的看到运行结果。我们不必等待整个项目 build 完去检查多行代码的执行结果。JShell,就像其他 REPL 一样,有利于探索式编程,我们很容易地进行交互式尝试和调试不同的算法和结构。
在一些例子中,我们将利用JShell 这一特性,提供对网络的访问。此功能与Web Service交互时非常有用。然而,你必须确保你的防火墙配置不会 JShell。
默认情况下,JShell提供了一些常用包的导入,我们可以使用 import 语句导入必要的包或是从指定的路径的包,来运行我们的代码片段。我们可以输入以下命令列出所有导入的包:
当我们在 JShell 之外写 Java 代码时,如所需要的g 包是默认导入的。在 JShell 下使用 /imports 命令并没没有列出这些包,以下是所有的在 JShell 下默认导入的包:
当我们想输入 System 类时,根据前面说的自动补全,只需要输入 Sys 然后按下 Tab 键,则自动补全, 然后再输入“.o”,则会自动补全方法, 在补全“System.out.”后按下 Tab 键,接下来就会列出当前类的所有的 public 方法的列表。
输入 /list 在 JShell 中,会列出到目前为止当前 session 里所有有效的代码片段。
当我们输入的表达式,它就会给分配给一个临时的变量,这个变量以“$”开头,并跟着一个数字。这个变量是$6,但也有可能是$7, $8。
到目前为止,我们创建了很多变量,我们可以使用 /vars 来查看当前 session 下所有创建过的变量:
现在,我想对 calculateRectangleArea 方法做一些改动,如果这时有外部代码编辑器的话,做起来会很容易。
在 JShell 中可以启用JShell Edit Pad 编辑器,需要输入如下命令,来修改的方法:
代码修改完成以后,先点击“Accept”按钮,再点击“Exit”按钮,则退出编辑器,在 JShell 命令行中提示方法已经修改。
JShell Edit Pad 编辑器功能非常有限,仅能提供一些最基础的功能,不过好消息是,JShell 可以配置外部的代码编辑器,我们只需要使用 /edit 外部编辑器的完整路径 的方式,来指定外部的代码编辑器。
如果我们已经有写好的 Java 文件,可以使用 /open 命令导入到 JShell 中,例如我现在有一个 Begin.java 文件,
推荐:
网友评论 ()条 查看