java jshell 是从 java 9 开始引入的一个交互式 repl(read-eval-print loop)工具,它允许你直接输入 java 表达式、语句或声明,并立即看到执行结果,无需编写完整的类或方法包装。这使得它非常适合用于快速测试代码片段、学习 java 语法或进行原型设计。
java jshell 是一个交互式 repl(read-eval-print loop)工具,从 java 9 开始引入。
下载
官网地址: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使用内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论