jshell

这篇文章建立在我的My Java 9顶级功能文章的基础上,通过对这些功能的深入研究。 在这里,我们向您展示如何在五分钟内学习jshell并改善Java 9开发经验。

入门

假设您已经下载并安装了Java 9,则可以通过键入以下内容启动Shell:

jshell

或者,如果您要详细-

C:\jdk9TestGround>jshell -v
| Welcome to JShell -- Version 9
| For an introduction type: /help introjshell>

变数

只需键入变量,带或不带分号–

jshell> int i = 1;
i ==> 1
| created variable i : int

未分配的值会自动分配给以$ –开头的变量

jshell> "Hello World"
$1 ==> "Hello World"
| created scratch variable $1 : String

这意味着我们以后可以重用该值–

jshell> System.out.println($1);
Hello World

控制流程

jshell的下一步是使用控制流(对于if,while,…)。 我们可以通过输入条件,对每个新行使用return来做到这一点–

jshell> if ("Hello World".equals($1)) {...> System.out.println("Woohoo my if condition works");...> }
Woohoo my if condition works

快速提示是使用TAB进行代码完成

方法

我们可以用与流程控制类似的方式声明一个方法,然后按

每条新线–

jshell> String helloWorld() {...> return "hello world";...> }
| created method helloWorld()

然后叫它–

jshell> System.out.println(helloWorld());
hello world

我们还可以更改外壳程序中的方法,并使用方法调用尚未定义的方法-

jshell> String helloWorld() {...> return forwardReferencing();...> }
| modified method helloWorld(), however, it cannot be invoked until method forwardReferencing() is declared
| update overwrote method helloWorld()

现在我们修复方法–

jshell> String forwardReferencing() {...> return "forwardReferencing";...> }
| created method forwardReferencing()
| update modified method helloWorld()

班级

我们还可以在jshell中定义类–

jshell> class HelloWorld {...> public String helloWorldClass() {...> return "helloWorldClass";...> }...> }
| created class HelloWorld

并分配和访问它们-

/env

有用的命令

现在,我们已经掌握了一些基本的快速命令–

标签 代码完成
/ vars 当前shell中的变量列表
/方法 当前shell中的方法列表
/清单 jshell会话中的所有代码段
/进口 当前在外壳进口
/方法 当前shell中的方法列表
/类型 当前的类在外壳中定义,在上述情况下,我们将看到“类HelloWorld”
/编辑 使您可以在编辑器中编辑会话(默认为JEditPad)
/出口 闭门会议

翻译自: https://www.javacodegeeks.com/2017/10/jshell-five-minutes.html

jshell

jshell_五分钟的JShell相关推荐

  1. 五分钟的JShell

    这篇文章建立在我的My Java 9顶级功能文章的基础上,通过对这些功能的深入研究. 在这里,我们向您展示如何在五分钟内学习jshell并改善Java 9开发经验. 入门 假设您已经下载并安装了Jav ...

  2. 五分钟搭建一个基于BERT的NER模型

    BERT 简介 BERT是2018年google 提出来的预训练的语言模型,并且它打破很多NLP领域的任务记录,其提出在nlp的领域具有重要意义.预训练的(pre-train)的语言模型通过无监督的学 ...

  3. B 站神曲damedane:精髓在于换脸,五分钟就能学会

    导读:AI 换脸技术层出不穷,但一代更比一代强.最近,一个发表在 NeurIPs 2019 的 AI 换脸模型 first order motion model 火了起来,其表情迁移效果胜过同领域其它 ...

  4. 五分钟搭建BERT服务,实现1000+QPS​,这个Service-Streamer做到了

    作者 | 刘欣 简介:刘欣,Meteorix,毕业于华中科技大学,前网易游戏技术总监,现任香侬科技算法架构负责人.之前专注游戏引擎工具架构和自动化领域,2018年在GDC和GoogleIO开源Airt ...

  5. matlab批量储存变量_科协五分钟|用Matlab工具包处理音频信号

    科协近期大事汇总 1. 9月28日晚,硬件人才计划顺利验收. 2. 9月28日下午,仪器设计大赛综合组交流. 3. 五系联合实验室参观筹办中,预计第六第七周举办 4. 仪器设计大赛新生组开发稳步进行. ...

  6. 启程 - 《每日五分钟搞定大数据》

    <每日五分钟搞定大数据>原创系列,每周不定期更新.欢迎关注公众号:大叔据   想了很久,准备开始写一系列的文章,记录这些年来的所得所想,感觉内容比较多不知从哪里开始,画了个思维导图确定了大 ...

  7. 五分钟DBA:浅谈伪分布式数据库架构

    [IT168 技术]12月25日消息,2010互联网行业技术研讨峰会今日在上海华东理工大学召开.本次峰会以"互联网行业应用最佳实践"为主题,定位于互联网架构设计.应用开发.应用运维 ...

  8. 五分钟内搭建的混沌电路

    简 介: 针对一种简单的混沌电路进行测试,没有能够复现电路的工作状态.具体原因尚未清楚. 关键词: 混沌电路,相移单管电路 #mermaid-svg-QPl6WYe8NnE6m9yt .label{f ...

  9. 五分钟示范“教会”演员说外语,还可无缝切换语种,这家AI配音公司刚获2000万美元A轮融资...

    行早 发自 凹非寺 量子位 | 公众号 QbitAI 只需要演员五分钟的声音素材,就可以让他在电影里说另外一种语言? 在没看到这段视频之前我是不相信的,来听听这段效果如何: 这段视频取自<博多之 ...

最新文章

  1. nginx在linux下安装,Nginx在linux下安装及简单命令
  2. PHP 读写TXT与Mysql性能测试
  3. rabbitmq集群报错
  4. JavaScript 内置对象(二):Date 对象(构造函数、属性和方法)
  5. SAP Hybris使用recipe进行安装时,是如何执行ant命令的?
  6. Netscape Navigator 9 Beta 1 颁布
  7. kubernetes与web集群
  8. 如何使用加密芯片完成SHA1摘要运算
  9. 人声处理_科唛课堂——人声的音频后期处理
  10. 【知识笔记】WebForm
  11. python取整数部分语句_pythonlogi中不使用条件语句的整数取整
  12. 【论文阅读】PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection
  13. Alexnet网络模型在cifar-10数据集上的实现(基于tensorflow-gpu)
  14. ASP.NET验证控件合集 含代码演示
  15. 【人机交互】课程知识点梳理及习题
  16. VBA-with语句
  17. python键盘监听及模拟键盘输入keyboard
  18. 【白帽优化大师】免费分享垃圾站截留别人网站流量技术
  19. php.ini ecshop,ecshop网店系统在服务器上的安全设置方法
  20. 元宇宙版权保护的相关调查:韩国视角

热门文章

  1. YBTOJ洛谷P2839:最大中位数(主席树、二分答案)
  2. LOJ:蚂蚁之旅(欧拉回路)
  3. 并查集:P1196 [NOI2002] 银河英雄传说
  4. 【2018.3.24】模拟赛之三-ssl2547 圆环【数论】
  5. 2021“MINIEYE杯”中国大学生算法设计超级联赛(7)Yiwen with Formula(任意模数FFT)
  6. codeforces1303 F. Number of Components(并查集+添_正序、删_逆序)
  7. 一次频繁Full GC的排查过程,根源居然是它...
  8. Attentive Sequence to Sequence Networks
  9. Tomcat 的 Server 文件配置详解
  10. Java类加载器总结