当前位置: 代码网 > it编程>编程语言>Java > java JShell使用全指南

java JShell使用全指南

2026年01月25日 Java 我要评论
java jshell 是从 java 9 开始引入的一个交互式 repl(read-eval-print loop)工具,它允许你直接输入 java 表达式、语句或声明,并立即看到执行结果,无需编写

java jshell 是从 java 9 开始引入的一个交互式 repl(read-eval-print loop)工具,它允许你直接输入 java 表达式、语句或声明,并立即看到执行结果,无需编写完整的类或方法包装。这使得它非常适合用于快速测试代码片段、学习 java 语法或进行原型设计。

java jshell 是一个交互式 repl(read-eval-print loop)工具,从 java 9 开始引入。

推荐阅读:java9学习系列之安装与jshell使用

下载

官网地址:http://www.oracle.com/technet...

代码网下载:https://www.jb51.net/softs/578567.html

以下是使用指南:

1.启动 jshell

# 直接启动
jshell
# 启动时指定模块路径
jshell --module-path <path>
# 启动时执行初始化脚本
jshell --startup <filename>

2.基本操作

输入 java 代码

// 直接输入表达式
jshell> 2 + 2
$1 ==> 4
// 定义变量
jshell> int x = 10
x ==> 10
// 定义方法
jshell> string greet(string name) {
   ...>     return "hello, " + name;
   ...> }
|  已创建 方法 greet(string)
// 调用方法
jshell> greet("world")
$3 ==> "hello, world"

3.常用命令

/help- 查看帮助

jshell> /help
jshell> /help intro      # 查看简介
jshell> /help shortcuts  # 查看快捷键

/list- 列出代码片段

jshell> /list            # 列出所有片段
jshell> /list -all       # 列出所有(包括自动生成的)
jshell> /list -start     # 列出启动代码

/vars- 查看变量

jshell> /vars
|    int x = 10

/methods- 查看方法

jshell> /methods
|    string greet(string)

/types- 查看类型

jshell> /types
|    class person

/edit- 编辑代码

jshell> /edit greet      # 编辑特定方法
jshell> /edit 1          # 编辑第1个代码片段

/save和/open

# 保存会话到文件
jshell> /save mysession.jsh
# 从文件加载代码
jshell> /open mysession.jsh
# 保存所有代码(包括自动生成的)
jshell> /save -all mysession.jsh

/drop- 删除代码片段

jshell> /drop x          # 删除变量x
jshell> /drop 1          # 删除第1个代码片段

/reset- 重置会话

jshell> /reset           # 重置所有状态

/exit- 退出

jshell> /exit

4.实用特性

自动补全

# 按 tab 键补全
jshell> sys<tab>         # 会自动补全为 system
jshell> system.<tab>     # 显示 system 类的所有方法

查看导入

jshell> /imports         # 查看已导入的包

设置反馈模式

jshell> /set feedback verbose     # 详细模式
jshell> /set feedback concise     # 简洁模式
jshell> /set feedback normal      # 普通模式(默认)
jshell> /set feedback silent      # 静默模式

查看历史命令

jshell> /history         # 查看历史命令

5.高级用法

创建类

jshell> class person {
   ...>     private string name;
   ...>     
   ...>     public person(string name) {
   ...>         this.name = name;
   ...>     }
   ...>     
   ...>     public string getname() {
   ...>         return name;
   ...>     }
   ...> }
|  已创建 类 person
jshell> person p = new person("alice")
p ==> person@5e91993f
jshell> p.getname()
$8 ==> "alice"

异常处理

jshell> try {
   ...>     int result = 10 / 0;
   ...> } catch (arithmeticexception e) {
   ...>     system.out.println("error: " + e.getmessage());
   ...> }
error: / by zero

使用外部库

# 启动时指定类路径
jshell --class-path lib/*.jar

6.快捷操作

快捷键功能
ctrl+l清屏
ctrl+r反向搜索历史
ctrl+s正向搜索历史
ctrl+c终止当前输入

7.示例:快速测试代码

// 快速测试算法
jshell> int[] numbers = {3, 1, 4, 1, 5, 9, 2, 6}
numbers ==> int[8] { 3, 1, 4, 1, 5, 9, 2, 6 }
jshell> arrays.sort(numbers)
jshell> arrays.tostring(numbers)
$2 ==> "[1, 1, 2, 3, 4, 5, 6, 9]"
// 测试流操作
jshell> list<string> list = list.of("java", "python", "c++")
list ==> [java, python, c++]
jshell> list.stream().filter(s -> s.startswith("j")).collect(collectors.tolist())
$3 ==> [java]

8.退出保存设置

# 设置自动保存历史
jshell> /set history permanent
jshell> /set start -retain mysetup.jsh

jshell 非常适合:

  • 快速测试代码片段
  • 学习 java 语法
  • 原型设计和实验
  • 调试和探索 api

到此这篇关于java jshell使用的文章就介绍到这了,更多相关java jshell使用内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com