JShell——Java 9 的交互式编程环境本文要求读者有基本的 Java 知识。
1. 在操作系统上安装开发所需要的软件首先,你需要下载JDK 9 (Java Development Kit 9) ,需要到此网站来下载JDK 9。首先需要先同意许可协议,然后就可以下载了。
下一步需要配置环境变量。跟之前的 JDK 配置方法相同。这里,我以 macOS 10.12 版本为例,在 Macbook 上的配置。这里会需要 vi 的一些基本操作,可以去网上查找如何使用。
4.找到
至此,JDK 配置完成。 此时,就进入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!') 输出结果为:
在一些例子中,我们将利用JShell 这一特性,提供对网络的访问。此功能与Web Service交互时非常有用。然而,你必须确保你的防火墙配置不会阻挡 JShell。 4. 查看默认导入和使用自动补全功能默认情况下,JShell提供了一些常用包的导入,我们可以使用import 语句导入必要的包或是从指定的路径的包,来运行我们的代码片段。我们可以输入以下命令列出所有导入的包:/imports 下面就会列出已经导入的包: 当我们在 JShell 之外写 Java 代码时,如所需要的 java.lang 包是默认导入的。在 JShell 下使用
此外,JShell 提供了自动补全的功能,只需按下 Tab 键,就能自动补全。 当我们想输入 5. 在JShell中编写 Java 9 代码首先,在命令行下可以执行jshell -v 来进入命令行的开发环境下面我们定义 calculateRectangleArea 方法来计算一个正方形的面积。float calculateRectangleArea(float width, float height) { return width * height; } 然后输入回车,则会输入如下信息:
/list 在 JShell 中,会列出到目前为止当前 session 里所有有效的代码片段。接下来我们定义一个 float类型的变量 输入完上面的代码后,JShell 就会给我们如下信息: 然后定义接着输入然后自动补全为 下面我们再使用 输入以下代码: System.out.printf('Width: %.2f, Height: %.2f, Area: %.2f\n', width, height, area); 则会输入如下信息: #### 6. 计算表达式 width * height; 当我们输入上面的表达式,它就会给分配给一个临时的变量,这个变量以“$”开头,并跟着一个数字。这个变量是$6,但也有可能是$7, $8。 在当前 session 中,我们可以在接下来的代码中直接使用此临时变量,例如: System.out.printf('The calculated area is %.2f\n', $6); 我们还可以使用之前的临时变量进行响应的运算,例如, $6 + 10.5f; 7. 使用变量、方法和源代码到目前为止,我们创建了很多变量,我们可以使用/vars 来查看当前 session 下所有创建过的变量:我们再定义一个方法: float calculateRectanglePerimeter(float width, float height) { return 2 * (width + height); } /methods 来查看所有的方法。你也可以 修改已经存在的方法,例如, 然后输出以下信息: 我们还可以使用 8. 使用外部代码编辑器来编写 Java 代码现在,我想对方法做一些改动,如果这时有外部代码编辑器的话,做起来会很容易。在 JShell 中可以启用JShell Edit Pad 编辑器,需要输入如下命令,来修改上面的方法: /edit calculateRectangleArea 接下来就会显示编辑器对话框,和将要修改的方法: 代码修改完成以后,先点击“Accept”按钮,再点击“Exit”按钮,则退出编辑器,在 JShell 命令行中提示方法已经修改。 设置成功以后,返回如下信息: 然后我们再执行命令,则就打开 Sublime Text, 9. 从外部加载源代码如果我们已经有写好的 Java 文件,可以使用/open 命令导入到 JShell 环境中,例如我现在有一个Begin.java 文件,void printHello { System.out.println('Hello, World!'); } printHello 在 JShell 环境中执行以下语句: /open /Users/i324779/Desktop/Begin.java 加载文件并执行:
|
|