java9新特性-5-Java的REPL工具: jShell命令

1.官方Feature

222: jshell: The Java Shell (Read-Eval-Print Loop)



2.产生背景

像Python 和 Scala 之类的语言早就有交互式编程环境 REPL (read - evaluate - print - loop)了,以交互式的方式对语句和表达式进行求值。开发者只需要输入一些代码,就可以在编译前获得对程序的反馈。而之前的Java版本要想执行代码,必须创建文件、声明类、提供测试方法方可实现。



3.设计理念

即写即得、快速运行



4.实现目标

Java 9 中终于拥有了 REPL工具:jShell。利用jShell在没有创建类的情况下直接声明变量,计算表达式,执行语句。即开发时可以在命令行里直接运行java的代码,而无需创建Java文件,无需跟人解释”public static void main(String[] args)”这句废话。

jShell也可以从文件中加载语句或者将语句保存到文件中。

jShell也可以是tab键进行自动补全和自动添加分号。



5.使用举例

调出jShell


获取帮助


基本使用



Tips:在JShell 环境下,语句末尾的“;” 是可选的。但推荐还是最好加上。提高代码可读性。

导入指定的包


默认已经导入如下的所有包:(包含java.lang包)


只需按下 Tab 键,就能自动补全代码


列出当前 session 里所有有效的代码片段


查看当前 session 下所有创建过的变量


查看当前 session 下所有创建过的方法


Tips:我们还可以重新定义相同方法名和参数列表的方法,即为对现有方法的修改(或覆盖)。


使用外部代码编辑器来编写 Java 代码


从外部文件加载源代码

指定目录下提供HelloWorld.java文件:


使用/open命令调用:


没有受检异常(编译时异常)


说明:本来应该强迫我们捕获一个IOException,但却没有出现。因为jShell在后台为我们隐藏了。

退出jShell


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • //Clojure入门教程: Clojure – Functional Programming for the J...
    葡萄喃喃呓语阅读 9,200评论 0 7
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,906评论 18 399
  • 花开花谢,红颜飘落 一缕清香,散发出青春的韵味 我感觉你很淡雅,淡雅透露出了一种芳香 芳香如梦,点缀出清脆而神秘的...
    学无止境方为大师阅读 1,293评论 0 1
  • 北方的冬,霾成了主角 这只现代文明中诞生的怪咖,已放肆地凌驾于文明之上 它掩盖了太阳的光芒,它有自己的假 它控制着...
    简姝k阅读 1,898评论 3 3
  • 【嘀嘀嘀,第一局王紫萱对战A级生化人】【等等,怎么回事啊】我惊讶的说还没等我说完,我就被在众目睽睽之下传送到了决斗...
    兔子虽萌但会咬人阅读 2,839评论 0 0