交互式工具 JShell
Java 中的 REPL 工具 JShell。
何为 REPL
REPL 全称:Read-Eval-Print-Loop
- R 读取 – 读取用户输入,解析输入了 Java 代码并存储在内存中。
- E 执行 – 执行输入的代码命令
- P 打印 – 输出结果
- L 循环 – 循环操作以上步骤直到用户两次按下 ctrl-c 按钮退出。
JShell
从 JDK 9 开始, JDK 就内置了交互式工具 JShell。它是一个命令行窗口,可以执行 Java 语言的变量、语句或者相关表达式,而且能够及时的查看到相关的结果。 类似于 JavaScript 的浏览器控制台一样的概念。所以我们可以通过该命令快速的获取到我们需要的 Java 执行效果。更快的学习某些知识点。
学习编程的终极奥义,这里不特指 Java 这一个 编程语言 , all in!动手写,反馈,调试, 继续动手写, 然后加深理解。不动手的学习都是耍流氓。
对于 JShell 有什么好处, 没有该工具之前, 你有两种途径进行开发调试你想要调试的代码。 一种是通过在线工具, 但是只能写很少的一些代码执行有限的命令。另外一种就是配置好你的 IDE ,写入代码, 编译,执行。等一系列的重复性动作。但是 JShell 的出现就可以让这个步骤编程, 打开 jshell 工具, 编写代码,回车实时的就会反馈执行的结果,相当便捷。
启动 JShell
打开命令行键入: jshell 命令。写入简单的代码, 现在可以不理解代码里面的含义, 大概就是定义一个变量, 然后显示出来变量的内容。先操作一下。
如果出现以下错误, 就去检查你的 环境变量 是否配置成功,环境变量配置成功的情况下, 检查一下你的 JDK 版本, 必须 JDK 9 + 才行。
我们上面看到如果想大致了解可以键入:/help intro 我们输入, 查看效果:
这里针对 jshell 有一个简短的说明。
然后想了解有关 jshell 相关命令, 可以键入:/help 命令
这里就显示了相关的 jshell 命令。 每个都有对应的注释和说明。
键入 Java 语言表达式, 语句或声明。
或者键入以下命令之一:
/list [<名称或 id>|-all|-start]
列出您键入的源
/edit <名称或 id>
编辑源条目
/drop <名称或 id>
删除源条目
/save [-all|-history|-start] <文件>
将片段源保存到文件
/open <file>
打开文件作为源输入
/vars [<名称或 id>|-all|-start]
列出已声明变量及其值
/methods [<名称或 id>|-all|-start]
列出已声明方法及其签名
/types [<名称或 id>|-all|-start]
列出类型声明
/imports
列出导入的项
/exit [< integer -expression-snippet>]
退出 jshell 工具
/env [-class-path <路径>] [-module-path <路径>] [-add-modules <模块>] ...
查看或更改评估上下文
/reset [-class-path <路径>] [-module-path <路径>] [-add-modules <模块>]...
重置 jshell 工具
/reload [-restore] [-quiet] [-class-path <路径>] [-module-path <路径>]...
重置和重放相关历史记录 -- 当前历史记录或上一个历史记录 (-restore)
/history [-all]
您键入的内容的历史记录
/help [<command>|<subject>]
获取有关使用 jshell 工具的信息
/set editor|start|feedback|mode|prompt|truncation|format ...
设置配置信息
/? [<command>|<subject>]
获取有关使用 jshell 工具的信息
/!
重新运行上一个片段 -- 请参阅 /help rerun
/<id>
按 ID 或 ID 范围重新运行片段 -- 参见 /help rerun
/-<n>
重新运行以前的第 n 个片段 -- 请参阅 /help rerun
有关详细信息, 请键入 '/help', 后跟
命令或主题的名称。
例如 '/help /list' 或 '/help intro'。主题:
intro
jshell 工具的简介
keys
类似 readline 的输入编辑的说明
id
片段 ID 以及如何使用它们的说明
shortcuts
片段和命令输入提示, 信息访问以及
自动代码生成的按键说明
context
/env /reload 和 /reset 的评估上下文选项的说明
rerun
重新评估以前输入片段的方法的说明
这里不需要精通使用 JShell,只需要知道有这个东西能简单的做一些什么任务。 后续在学习的过程中, 可以尝试使用该工具。
这里使用定义变量, 列出变量定义。 代码效果如下:
JShell 如何退出
在进入到 JShell 之后, 键入命令: /exit 就可以退出 jshell 工具。
JShell 混个脸熟教程结束。 后续更多的使用方式, 放在各自的知识点学习中。