当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Shell Tool(JShell)用法及代码示例


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

JShell 的优点

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

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

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

Jshell 不需要上述步骤。我们可以评估语句、方法和类,甚至可以在不创建类的情况下编写 hello 程序。

如何启动 JShell

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

Java 9 Shell Tool 1

你好 Java 消息

要显示简单的 "Hello Java" 消息,请在不创建类的情况下编写打印命令并按 Enter。

Java 9 Shell Tool 2

变量

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

Java 9 Shell Tool 3

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

Java 9 Shell Tool 4

临时变量

如果我们不提供变量名,Java 会创建隐式变量来存储值。这些变量以 $符号开头。我们可以通过指定隐式变量来使用这些变量,就像我们在下面的 screen-shot 中所做的那样。

Java 9 Shell Tool 5

表达式

我们可以测试任何有效的 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.*;






相关用法


注:本文由纯净天空筛选整理自 Java Shell Tool (JShell)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。