Java 9 之 JShell

JShellJDK 9发行版[ JEP 222 ] 附带的新的命令行交互式REPLRead-Evaluate-Print-Loop)控制台,用于评估用Java编写的声明,语句和表达式。JShell允许我们执行Java代码段并获得即时结果,而无需创建解决方案或项目。

在本教程中,我们将通过示例学习可以在JShell中完成的各种任务。

目录

1.启动JShell 
2.编写并执行Java代码
3.在JShell Edit Pad中编辑代码
4.在外部编辑器中启动代码
5.从外部文件加载代码

1.启动JShell

首先是将JDK 9安装到您的计算机中。从此链接下载JDK 9 并进行安装。

转到安装位置并查看/jdk-9/bin文件夹。您将在这里找到jshell.exe文件。

JDK 9中的JShell位置
JDK 9中的JShell位置

现在启动一个新的命令窗口并检查Java版本。

>> java -version

它应该指向JDK 9版本。如果不是,那么更新环境属性JAVA_HOMEPATH相应的值。

JAVA_HOME=C:\Program Files\Java\jdk-9
PATH=C:\Program Files\Java\jdk-9\bin    //Path till bin folder

现在再次启动新的命令提示符窗口,然后键入command jshell。它将光标更改为jshell

Jshell启动窗口
Jshell启动窗口

恭喜,您已准备好在JShell REPL(读取-评估-打印循环)中玩游戏。

2.在REPL中编写和执行Java代码

Jshell允许创建小的代码段并对其进行测试,而无需创建和构建复杂的项目。这就是应该使用它的方式。在JShell上进行操作使其易于使用和快速。让我们看看如何?

2.1。变数

您可以像在实际编程中一样定义变量。唯一的区别是您不必编写类或main方法即可开始。

jshell> int i = 10;
i ==> 10

打印变量的值,只需键入变量名称并按ENTER键。它将打印变量的值。

jshell> i
i ==> 10

要将变量重新分配给新值,只需按照常规方法进行即可。

jshell> i=20;
i ==> 20

列出所有声明的变量,请使用命令/ vars

jshell> /vars
|    int i = 20
|    int j = 30
在JShell中使用变量
在JShell中使用变量

2.2。方法

与变量非常相似,方法也很简单。

在jshell中创建方法,请使用retrun类型,方法名称,参数和方法主体定义方法。不需要访问修饰符。

jshell> int sum (int a, int b) {
   ...> return a+b;
   ...> }
|  created method sum(int,int)

列出所有定义的方法,请使用command /methods

jshell> /methods
|    int sum(int,int)

要调用该方法,请像普通编程一样调用它。

jshell> sum(2,2)
$6 ==> 4

如果要查看方法代码,请使用/list命令。它将显示当前方法的源代码。Ť

jshell> /list sum
1 : int sum (int a, int b) {
   return a+b;
   }

要更改方法代码,您将需要使用相同的方法名称重写新的修改后的代码。

jshell> int sum (int a, int b) {
   ...> int c = a+b;
   ...> return c;
   ...> }
|  modified method sum(int,int)
jshell> /list sum
   3 : int sum (int a, int b) {
       int c = a+b;
       return c;
       }
在JShell中使用方法
在JShell中使用方法
请记住方法重载规则。如果您更改了方法参数计数或它们的数据类型,那么它将是一个新方法,并且在jshell中将注册两个方法。

3.在JShell编辑板上编辑代码

到那时,您正在处理几行代码,JShell内联编辑器已经足够了。但是,当代码开始变大时,则可能需要文件编辑器来修改代码。

在这里您可以使用JShell编辑板。要启动编辑板,请使用/edit带有方法名称的命令。

JShell编辑板
JShell编辑板

在这里根据需要更改方法代码,然后单击“接受”按钮。修改后的代码将在Jshell中更新,您将在提示符下收到确认消息。您可以根据需要多次更改代码,保存代码然后退出窗口。

在Jshell Edit Pad中保存操作
在Jshell Edit Pad中保存操作

4.在外部编辑器中启动代码

实际上,Edit Pad足以满足大多数需求,即使您想在任何特定的编辑器上进行编码,也可以使用它。JShell允许轻松配置任何外部编辑器来编辑代码段。您只需要获取我们要使用的编辑器的完整路径,并/set editor在JShell中运行命令来配置编辑器。

/set editor "C:\\Program Files\\Sublime Text 3\\sublime_text.exe"

现在/edit再次执行命令。现在它将在崇高编辑器中打开代码。

从JShell启动Sublime Editor
从JShell启动Sublime Editor

随时编辑代码并保存在编辑板中。

5.将代码从外部Java文件加载到REPL中

很多时候,您已经在任何Java文件中编写了一些代码,并且希望将其执行到JShell中。要在JShell中加载文件,请使用/open命令。

比方说,我有一个文件Demo.javac://temp文件夹。它的内容是:

int i1 = 10;
int i2 = 20;
int i3 = 30;
int i4 = 40;
int sum(int a, int b) {
    return a+b;
}
int sum(int a, int b, int c) {
    return a+b;
}

现在让我们将文件加载到JShell中。

/open c:\\temp\\demo.java

验证在Jshell中加载的变量和方法。

JShell中加载的Java代码
JShell中加载的Java代码

这就是在Java 9中使用REPL工具时必须知道的一切。

将您的问题放在评论部分中。

学习愉快!

saigon has written 1440 articles

One thought on “Java 9 之 JShell

Leave a Reply