📅  最后修改于: 2020-10-14 00:47:03             🧑  作者: Mango
它是一个交互式Java Shell工具,它使我们能够从Shell中执行Java代码并立即显示输出。 JShell是一个REPL(读取评估打印循环)工具,可从命令行运行。
Jshell减少了运行Java程序和测试业务逻辑所需的所有工作。
如果我们不使用Jshell,则创建Java程序涉及以下步骤。
Jshell不需要上述步骤。我们可以评估语句,方法和类,甚至可以编写Hello程序而无需创建类。
要启动Jshell,首先我们必须安装Java 9,然后在Linux中打开终端或在Windows中打开命令提示符,然后键入jshell?v。它将启动jshell会话并向控制台显示欢迎消息。
要显示简单的“ 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> /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.*;