亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 9 JShell REPL:交互式编码与测试利器

JShell 简介

JShell(Java Shell)实现 REPL(Read-Eval-Print Loop),在命令行即时执行 Java 代码片段,无需编写完整类、编译、运行,极大提升探索、原型验证、教学效率。

启动与基础命令

$ jshell
|  Welcome to JShell -- Version 9
|  For an introduction type: /help intro
jshell>

常用命令

命令功能
/help显示帮助
/list列出已输入片段
/edit <id>编辑指定片段
/drop <id>删除片段
/save [-all|-history|-start] <file>保存片段到文件
/open <file>加载文件作为输入
/vars列出变量及值
/methods列出方法签名
/types列出类型声明
/imports列出当前导入
/exit退出 JShell

默认导入

jshell> /imports
|    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.*

交互式计算与变量

jshell> 3 + 1
$1 ==> 4
jshell> 13 % 7
$2 ==> 6
jshell> $2
$2 ==> 6
jshell> var x = 10
x ==> 10
jshell> x * 2
$3 ==> 20

$1、$2 为自动生成的临时变量名,可直接引用。

定义与使用方法

jshell> int doubled(int i) { return i * 2; }
|  created method doubled(int)
jshell> doubled(6)
$4 ==> 12

定义类与复杂逻辑

jshell> class Person { String name; int age; Person(String n, int a) { name=n; age=a; } }
|  created class Person
jshell> new Person("Alice", 30)
$5 ==> Person@...
jshell> $5.name
$6 ==> "Alice"

实用场景

退出

jshell> /exit
|  Goodbye

java

  1. 精通 Java 运算符:类型、语法与实战示例
  2. Java 注释:类型、用法与最佳实践
  3. 精通 Java if…else:控制流全解析
  4. 精通 Java 增强 for 循环:语法、示例与最佳实践
  5. 精通 Java 字符串:创建、方法与最佳实践
  6. 精通 Java 接口:概念、实现与最佳实践
  7. 精通 Java 匿名内部类:定义、语法与实战示例
  8. 精通 Java Try-With-Resources:自动资源管理详解
  9. Java 注解详解:类型、放置位置与实战示例
  10. Java 断言实战指南:尽早发现 Bug 与保障代码可靠性
  11. 深入理解 Java Vector:用法、特性及与 ArrayList 的对比
  12. Java 9 JShell REPL:交互式编码与测试利器