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会话并向控制台显示欢迎消息。
Hello Java消息
要显示一条简单的" Hello Java"消息,请在不创建类的情况下编写打印命令,然后按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.*;