Java REPL——JShell

原文:https://www.studytonight.com/java-9/java-repl-jshell

Java 在其 Java 9 版本中增加了一项新功能 JShell 。这是一个命令行交互 REPL (读取-评估-打印-循环)控制台,允许执行 Java 代码。

它可以瞬间执行任意表达式语句代码,无需将代码保存到任何文件或项目中。它减少了我们分别编译运行代码的工作量。

在本教程中,我们将通过执行一些代码示例来学习使用 JShell。我们用 Windows cmd(命令提示符)来开始 JShell。如果你在另一个平台上工作,比如 Linux 或者 Mac ,那么你可以打开终端来启动 JShell

如何启动 JShell?

要启动 JShell,只需在 cmd终端上输入jshell命令,然后按回车即可。它会在同一个终端启动 JShell,然后你就可以开始编写和执行你的代码了。

示例:

在这个例子中,我们是启动 JShell创建一个变量,这个变量保存一个整数值 10 ,我们通过使用 print 语句得到这个值的打印。

>jshell
|  Welcome to JShell -- Version 9-ea
|  For an introduction type: /help intro

jshell> int a = 10
a ==> 10

jshell> System.out.println("a value = " + a )
a value = 10

示例:创建方法

我们可以通过添加完整的定义来创建方法。这里,我们正在创建一个方法 sum(int,int),它接受两个整数值并返回一个整数。

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

示例:调用方法

在创建了一个方法之后,现在我们需要使用那个方法,所以我们可以简单地通过它的名字来调用它。注意,我们没有创建任何对象来调用这个方法。JShell 使用一种简单的方法来执行。如果我们不提供任何变量来保存方法的返回值,那么 Java 提供一个默认变量 ($2) 来保存它。请看下面的例子。

jshell> int sum(int a, int b){
...> return a+b;
...> }
|  created method sum(int,int)
jshell> sum(10,20);
$2 ==> 30   // result

示例:将结果存储到变量中

如果我们想将结果存储到一个变量中,那么您可以简单地创建一个变量并存储结果。请看下面的例子。

jshell> int sum(int a, int b){
...> return a+b;
...> }
|  created method sum(int,int)
jshell> sum(10,20);
$2 ==> 30
jshell> int result = sum(10,20); // Storing result into a variable
result ==> 30

示例:查找方法-列表

如果我们想知道我们创造了多少种方法。所以,我们可以使用 /list 命令来显示完整的方法。

jshell> /list sum

1 : int sum (int a, int b) {
   return a+b;
   }

示例:条件语句(IF-ELSE)

变量方法等。我们也可以执行条件语句。这里,我们使用 IF-ELSE 语句来检查结果并将消息打印到控制台。

jshell> int result = sum(20,50); // calling method
result ==> 70
jshell> if(result>100){
...> System.out.print("Sum is greater than 100");
...> }else{
...> System.out.println("Sum is less than 100");
...> }
Sum is less than 100  // result