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

当我们想输入 System 类时,根据前面说的自动补全,只需要输入 Sys 然后按下 Tab 键,则自动补全, 然后再输入“.o”,则会自动补全方法, 在补全“System.out.”后按下 Tab 键,接下来就会列出当前类的所有的 public 方法的列表。

list method

最后完整输入:

System.out.println("Auto-complete is helpful in JShell");

5. 在JShell中编写 Java 9 代码

首先,在命令行下可以执行 jshell -v 来进入命令行的开发环境。

下面我们定义 calculateRectangleArea 方法来计算一个正方形的面积。

float calculateRectangleArea(float width, float height) { return width * height; }

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

calculateRectangleArea

然后输入回车,则会输入如下信息:

created calculateRectangleArea

Tips

所有从 JShell 输出的消息用“|”表示。

输入 /list 在 JShell 中,会列出到目前为止当前 session 里所有有效的代码片段。

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

/list

接下来我们定义一个 float类型的变量 width 并赋值为50:

float width = 50;

输入完上面的代码后,JShell 就会给我们如下信息:

width

然后定义 height 变量:

float height = 25;

接着输入 float area = ca 然后自动补全为 float area = calculateRectangleArea( ,再输入刚才定义的变量 width 和 height ,则方法则计算出面积并返回1250.0。

Area

下面我们再使用 /list 列出到目前为止所有有效的代码片段。

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

list again

输入以下代码:

System.out.printf("Width: %.2f, Height: %.2f, Area: %.2f\n", width, height, area);

则会输入如下信息:

width, height, area

6. 计算表达式

Java 9 中运行我们评估任何有效的表达式,在 JShell中输入如下表达式:

width * height;

当我们输入上面的表达式,它就会给分配给一个临时的变量,这个变量以“$”开头,并跟着一个数字。这个变量是$6,但也有可能是$7, $8。

在当前 session 中,我们可以在接下来的代码中直接使用此临时变量,例如:

System.out.printf("The calculated area is %.2f\n", $6);

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

我们还可以使用之前的临时变量进行响应的运算,例如,

$6 + 10.5f;

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

7. 使用变量、方法和源代码

到目前为止,我们创建了很多变量,我们可以使用 /vars 来查看当前 session 下所有创建过的变量:

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

/vars

我们再定义一个方法:

float calculateRectanglePerimeter(float width, float height) { return 2 * (width + height); }

然后使用 /methods 来查看所有的方法。

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

/methods

你也可以 修改已经存在的方法,例如, calculateRectanglePerimeter 的方法改为如下:

float calculateRectanglePerimeter(float width, float height) { float perimeter = 2 * (width + height); System.out.printf("Width: %.2f\n", width); System.out.printf("Height: %.2f\n", height); System.out.printf("Perimeter: %.2f\n", perimeter); return perimeter; }

然后输出以下信息:

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

change method

我们还可以使用 /list method name 来查看具体某一个方法的具体信息:

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

/list method name

8. 使用外部代码编辑器来编写 Java 代码

现在,我想对 calculateRectangleArea 方法做一些改动,如果这时有外部代码编辑器的话,做起来会很容易。

在 JShell 中可以启用JShell Edit Pad 编辑器,需要输入如下命令,来修改上面的方法:

/edit calculateRectangleArea

接下来就会显示编辑器对话框,和将要修改的方法:

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

JShell Edit Pad

代码修改完成以后,先点击“Accept”按钮,再点击“Exit”按钮,则退出编辑器,在 JShell 命令行中提示方法已经修改。

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

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