JDK中的jshell是一款官方提供的交互式Java编程工具,属于Java 9及之后版本的标准组件,它的核心作用是让开发者无需编写完整的Java类、方法结构,也不需要手动执行编译命令,就可以直接输入Java代码片段并立即获取执行结果,非常适合快速验证语法、测试小段逻辑或者学习Java基础语法。

jshell的启动方式
首先确保你安装的JDK版本是9及以上,并且已经正确配置了JAVA_HOME环境变量,之后打开系统的命令行终端,输入以下命令就可以启动jshell:
jshell
启动成功后会看到jshell的专属提示符jshell>,此时就可以直接输入Java代码片段了。
jshell基础使用示例
我们可以直接输入变量定义、表达式计算、方法调用等代码片段,jshell会自动执行并返回结果:
// 定义整型变量并计算
int a = 10;
int b = 20;
System.out.println(a + b);
// 直接输入表达式,jshell会自动创建临时变量保存结果
"hello" + " jshell"
// 定义简单方法
String greet(String name) {
return "hello " + name;
}
// 调用方法
greet("test")
jshell常用内置命令
jshell除了支持Java代码片段输入,还提供了一系列内置命令来管理交互过程,所有命令都以/开头,常用的命令如下:
| 命令 | 作用说明 |
|---|---|
| /list | 列出当前会话中所有输入过的代码片段 |
| /edit 片段ID | 打开编辑器修改指定ID的代码片段 |
| /drop 片段ID | 删除指定ID的代码片段 |
| /vars | 列出当前会话中所有定义的变量 |
| /methods | 列出当前会话中所有定义的方法 | >
| /exit | 退出jshell交互环境 |
jshell的适用场景
- 快速验证Java语法:比如不确定某个新特性的写法是否正确,直接输入片段测试,不需要写完整类
- 测试小段逻辑:比如验证一个字符串处理的方法逻辑是否符合预期,不需要搭建完整项目
- Java初学者学习:可以逐行输入代码观察结果,更直观地理解Java语法的执行效果
- 临时计算:比如需要做一些简单的数值计算,不用打开计算器或者写完整的Java程序
注意事项
jshell中不需要写完整的类和方法结构,但是仍然要遵循Java的基础语法规则,比如语句结束需要加分号,代码块需要用大括号包裹。另外jshell的会话是临时的,退出后所有输入的代码片段都会丢失,如果需要保存会话内容,可以使用/save 文件名命令将当前会话的代码片段保存到文件,下次启动后用/open 文件名命令加载。