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