原 荐 Java9之Jshell入门

jshell

在学习JSHELL之前确保,已经安装过jdk9,可以参阅Java9安装

为什么要学Jshell

学习Jshell需要知道他的特性, Read-Eval-Print-Loop (REPL)

  • 交互式解释器(REPL)既可以作为一个独立的程序运行, 也可以很容易地包含在其他程序中作为整体程序的一部分使用。 REPL为运行Java脚本与查看运行结果提供了一种交互方式, 通常REPL交互方式可以用于调试、测试以及试验某种想法。

开始使用

  • 切换jdk环境
  • 检查环境
  • 切换到Jshell环境
  • Hello World

命令

  • 输入-help 进行查看,会展示出Jshell所支持的命令
  • /history,查看在Jshell输入的的所有指令(不管正确与否)
  • /list,列出所有你输入过的Java源代码(非命令相关)

也可以根据id进行查询

上图列出了我历史操作的一些与Jshell交互的Java代码命令。 根据ID查看Java命令并执行。

  • /exit ,退出Jshell命令行
  • /edit,根据id修改曾经输入过的Java代码,一般配合/list进行使用 利用List命令查找你要修改代码的Id。

输入你要更改代码的Id,回车确认。

回车后出来如下页面。

将Java代码修改为你想要的结果,点击Accept进行保存和执行,出现如下图所示结果。默认不会自动退出,需要手动exit。

重新查看list,发现多出一个修改过的历史。

  • /drop 删除Java历史操作记录 根据id进行删除,也可以根据名称进行删除。
  • /reset,重置环境状态,会清空历史和list等。
  • /reload,重新启动并重置环境状态,会保留历史和list等。
  • /imports,查看导入的Java工具类。
  • /open,引入外部Java文件 准备外部Java文件

执行外部文件

  • /save,保存代码片段,并执行。 以下是命令操作
  • /env,环境属性
  • /vars,列出已经声明的变量和值

常用示例

  • 创建class
  • 查看class,/types
  • 创建method
  • 查看method,/method
  • 执行method
  • 修改method,修改类也是一样。
  • 设置编辑器,利用编辑器进行编辑。 修改完毕之后,ctrl+s即可打印出类已经修改之类的提示。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java技术学习之道

IO你了解了,NIO你会吗?

1314
来自专栏Laoqi's Linux运维专列

Mysql5.6 免编译安装

Mysql安装 : 3 种安装方式: rpm 源码 二进制免编译(一定要从官网下载) 二进制免编译包好处: 我们不需要花太多的时间去编译。 可以自定义去配置安装...

3435
来自专栏Java架构沉思录

Java NIO入门之浅析I/O模型

原文:http://www.cnblogs.com/dolphin0520/p/3916526.html

1112
来自专栏深度学习之tensorflow实战篇

python django 学习(一)数据库 目的根据已有BBS建立新的网站步骤

1.创建一个django程序(pycharm下创建界面) ? 2.django创建的默认文件说明 manage.py:一个命令行工具,用于与Dj...

3366
来自专栏osc同步分享

nginx 配置负载均衡

windows下载nginx解压后如下: ? 配置文件为conf目录下的nginx.conf     在http节点下加入upstream如下: ups...

30712
来自专栏微信公众号:Java团长

Java NIO:浅析I/O模型

  也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/...

391
来自专栏Bug生活2048

Spring Boot学习笔记(二)Windows下IDEA 配置Maven

maven指向本地仓库配置,打开D:\ProgramFile\Maven\apache-maven-3.5.2\conf下的settings.xml,设置本地仓...

942
来自专栏大数据架构师专家

apache与tomcat整合

Apache只是一个Web服务器,可以作为独立的web服务器来运行,不过只支持静态网页,如(asp,php,cgi,jsp)等动态网页的就显得无能为力。

1093
来自专栏我是攻城师

hadoop2.2源码编译后不支持bzip2压缩解决办法

2677
来自专栏Django Scrapy

常用命令 一个月后发表 10-29发检查服务器的负载率

查询当前目录下的所有以 txt,pdf结尾的文件 find . ( -name ".txt" -o -name ".pdf" ) -print cd - 跳转到...

2497

扫码关注云+社区