📜  Java9 Shell工具(JShell)

📅  最后修改于: 2020-10-14 00:47:03             🧑  作者: Mango

Java Shell工具(JShell)

它是一个交互式Java Shell工具,它使我们能够从Shell中执行Java代码并立即显示输出。 JShell是一个REPL(读取评估打印循环)工具,可从命令行运行。

JShell的优点

Jshell减少了运行Java程序和测试业务逻辑所需的所有工作。

如果我们不使用Jshell,则创建Java程序涉及以下步骤。

  • 打开编辑器并编写程序
  • 保存程序
  • 编译程序
  • 编辑是否存在编译时错误
  • 运行程序
  • 编辑任何运行时错误
  • 重复这个过程

Jshell不需要上述步骤。我们可以评估语句,方法和类,甚至可以编写Hello程序而无需创建类。

如何启动JShell

要启动Jshell,首先我们必须安装Java 9,然后在Linux中打开终端或在Windows中打开命令提示符,然后键入jshell?v。它将启动jshell会话并向控制台显示欢迎消息。

您好Java讯息

要显示简单的“ Hello Java”消息,请编写print命令而不创建类,然后按Enter。

变数

我们可以声明变量并在整个Jshell会话中的任何地方使用。让我们创建一个整数变量。

分号(;)是可选的,我们可以保留它并且可以正常使用。参见,变量b是在不使用分号的情况下创建的。

临时变量

如果不提供变量名,则Java将创建隐式变量来存储值。这些变量以$符号开头。我们可以通过指定隐式变量来使用这些变量,如下面的屏幕快照所示。

表达方式

我们可以测试任何有效的Java表达式以获得即时输出。请参见以下示例。

两个整数相加

jshell> 2+3
$1 ==> 5
|  created scratch variable $1 : int
jshell>

复合表达

jshell> 2+(5*4+(2+1))
$4 ==> 25
|  created scratch variable $4 : int
jshell>

方法

要测试方法业务逻辑,请创建一个方法并立即获得结果。请参见以下示例。

jshell> void show(){
   ...> System.out.println("This is show method");
   ...> }
|  created method show()

调用方式

jshell> show();
This is show method

要创建类,请为该类编写源代码并通过立即创建对象来调用其方法。请参见以下示例。

jshell> class Hello{
   ...> void show(){
   ...> System.out.println("This is show method");
   ...> }
   ...> }
|  created class Hello

jshell> new Hello().show();
This is show method

包裹进口

默认情况下,导入10个软件包,也可以使用import语句导入任何软件包。

要查看默认导入包,我们可以使用以下命令。

jshell> /import
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*

导入java.sql包。

jshell> import java.sql.*;

列出导入软件包,它将显示可用的可访问软件包。

jshell> /import
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*
|    import java.sql.*

现在,软件包数量为11,其中包括新的java.sql。*。

Jshell命令

Jshell提供了各种有用的命令,我们可以使用它们来修改环境,管理代码以及获取与代码相关的信息。以下是有用的信息。

包裹进口

jshell> /import
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*
|    import java.sql.*

命令/ vars显示变量。

jshell> /vars
|    int $1 = 5
|    int $2 = 5
|    int $4 = 25

要获取所有书面源代码,请使用/ list

jshell> /list

   1 : 2+3
   2 : 10-5
   3 : $1
   4 : 2+(5*4+(2+1))
   5 : void show(){
       System.out.println("This is show method");
       }
   6 : show();
   7 : class Hello{
       void show(){
       System.out.println("This is show method");
       }
       }
   8 : new Hello().show();
   9 : import java.sql.*;