第18.6.1章 JDK9的新特性—Java的REPL工具: jShell命令

6. 新语法结构

新的语法结构,为我们勾勒出了 Java 语法进化的一个趋势,将开发者从复杂、繁琐的低层次抽象中逐渐解放出来,以更高层次、更优雅的抽象,既降低代码量,又避免意外编程错误的出现,进而提高代码质量和开发效率。

6.1 Java的REPL工具: jShell命令

JDK9的新特性

Java 终于拥有了像Python 和 Scala 之类语言的REPL工具(交互式编程环境,read - evaluate - print - loop):jShell。以交互式的方式对语句和表达式进行求值。即写即得、快速运行。

利用jShell在没有创建类的情况下,在命令行里直接声明变量,计算表达式,执行语句。无需跟人解释”public static void main(String[] args)”这句"废话"。

使用举例

  • 调出jShell

Microsoft Windows[版本10.0.22000.1574](c)Microsoft Corporation。保留所有权利。
C: \Users\WQC> jshell
    欢迎使用 JShell--版本11.0.17
    要大致了解该版本,请键入:/help intro
jshell>
  • 获取帮助

jshell> /help intro
  • 基本使用

jshe11>System.out.println("你好! wor1d");  
你好!world
jshe11>int i =10;
i==>10
ishe11> int j=20;
j==>20
jshell> int k= i + j;
k==>30
jshell>System.out.print1n(k);
30
jshell> public int add(int m,int n){
   ...> return m + n;
   ...> }
|  已创建 方法 add(int,int)
jshell>int k = add(1,2);
k==>3
jshell>system.out.println(k);
3
  • 导入指定的包

jshell> import java.util.*
  • 默认已经导入如下的所有包:(包含java.lang包)

jshell> /imports
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*
|    import java.util.*
  • 只需按下 Tab 键,就能自动补全代码 (部分关键字)

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

jshell> /list

   1 : System.out.println("你好! wor1d");
   2 : int i =10;
   3 : public int add(int m,int n){
       return m + n;
       }
   4 : import java.util.*;
  • 查看当前 session 下所有创建过的变量

jshell> /var
|    int i = 10
  • 查看当前 session 下所有创建过的方法

jshell> /methods
|    int add(int,int)
Tips:我们还可以重新定义相同方法名和参数列表的方法,即对现有方法的修改(或覆盖)。
  • 使用外部代码编辑器来编写 Java 代码

从外部文件加载源代码【Happy.java】(txt编写,改后缀就行)

public void printSmile() {
    System.out.println("人活着嘛,开心最重要啦!");
}
printSmile();
  • 使用/open命令调用

jshell> /open D:\Happy.java
人活着嘛,开心最重要啦!
  • 退出jShell

jshell> /exit
|  再见

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值