Java新特性之JShell
1|0为什么我们要了解JShell
我们学习Java语言的第一个程序通常为打印一行Hello World。代码通常如下
然后我们使用javac
命令来编译java文件
编译完成后我们需要使用java
命令来执行编译好的字节码文件,把程序结果打印出来
最后我们可以看到运行结果
到此我们完成了Java的第一个程序,看着还不错,不过我们对比一下使用bash打印Hello World的例子
回车之后我们就可以看到运行结果
显然,使用 bash 编写的“Hello, world!”要简单得多。你只需要在命令行输入代码,bash 就会自动检查语法,立即打印出结果;它不需要我们调用额外的编辑器、编译器以及解释器。当然,这并不是说 bash 不需要编译和运行过程。bash 只是把这些过程处理得自动化了,不再需要我们手动处理了。
Java学习的这种“门槛”极大的影响了学习Java的热情,那么Java有没有一种方式可以达到bash的这种效果了。
答案是肯定的,JShell,也就是 Java 的交互式编程环境,是 Java 语言给出的其中一个答案。
2|0JShell使用
2|1启动JShell
JShell 的交互式编程环境,还有一个详细模式,能够提供更多的反馈结果。启用这个详尽模式的办法,就是使用“-v”这个命令行参数。我们使用 JShell 工具的主要目的之一,就是运行测试我们编写的代码片段
2|2退出 JShell
2|3帮助命令
输入该命令可以查看JShell支持的命令,熟悉 JShell 支持的命令,能给我们带来很大的便利
2|4执行Java语句
可以看到,一旦输入完成,JShell 立即就能返回执行的结果,而不再需要编辑器、编译器、解释器。
如果我们使用了错误的方法,或者不合法的语法,JShell 也能立即给出提示。
JShell 的这种立即执行、及时反馈的特点,毫无疑问地,加快了我们学习和测试简单 Java 代码的速度,激励着我们去学习更多的东西,更深入的技能。
2|5可覆盖的变量声明
变量的声明可以重复,也可以转换类型,就像上一个声明并不存在一样。这样的特点和 Java 的可编译代码有所不同,在可编译的代码里,在一个变量的作用域内,这个变量的类型是不允许转变的,也不允许重复声明。
2|6独立的表达式
我们知道,在 Java 程序里,语句是最小的可执行单位,表达式并不能单独存在。但是,JShell 却支持表达式的输入。比如说,输入“1+1”,JShell 会直接给出正确的结果。
3|0特别说明
JShell 的设计并不是为了取代 IDE。JShell 在处理简单的小逻辑,验证简单的小问题时,比 IDE 更有效率。如果我们能够在有限的几行代码中,把要验证的问题表达清楚,JShell 就能够快速地给出计算的结果。这一点,能够极大地提高我们的工作效率和学习热情。
__EOF__

本文链接:https://www.cnblogs.com/ycwiacb/p/15919037.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了