个性化阅读
专注于IT技术分析

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 9 Shell工具1

你好Java讯息

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

Java 9 Shell工具2

变数

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

Java 9 Shell工具3

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

Java 9 Shell工具4

临时变量

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

Java 9 Shell工具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.*;
赞(0)
未经允许不得转载:srcmini » Java Shell工具(JShell)

评论 抢沙发

评论前必须登录!