Skip to content

JDK JSHELL 学习-1

  1. 首先进入jshell
    1. jshell -v 可以查看当前的版本信息
    2. 进入jshell 后可以使用 /help 查看帮助信息
    3. /help intro 查看jshell 工具简介
  2. 定义变量及方法
    1. 增加一个名为 x 的int且赋值为45
        jshell> int x=45
      
    2. 普通的运算
        jshell> 2+2
        $2 ==> 4
      
    3. 定义一个方法
        jshell> String twice(s){
           ...>   return s+s;
           ...> }
        | created method twice(String)
        jshell> twice("Maple")
        $4==>"MapleMaple"
      
    4. 复写方法
        jshell>String twice(s){
           ...>   return "THE s is :"+s;
           ...> }
        | modified method twice(String)
         jshell> twice("Maple")
        $6==>"THE s is :Maple"
      
    5. 调整反馈等级
      反馈的等级分为concise、normal、silent、verbose;
      设置方法:
        /set feedback verbose
      
    6. 关于定义
      方法定义中如果使用没有定义的方法,是能够创建成功的,但是不能正确的执行,如果在这个时候执行会告知你需要补全需要的方法。当你补全之后就能够正确的运行。
  3. 异常
    1. 定义一个方法
        jshell> int divide(int x, int y) {
           ...> return x/y;
           ...> }
        |  created method divide(int,int)
      
    2. 传入会报错的参数
        jshell> divide(5,0)
        |  java.lang.ArithmeticException thrown: / by zero
        |        at divide (#1:2)
        |        at (#2:1)
      
    3. 执行/list 查看执行历史
         jshell> /list
           1 : int divide(int x, int y) {
           return x/y;
           }
           2 : divide(5, 0)
      

      在异常信息中的(#1:2) 表示在历史中的第1个命令 的第二行报错
      定义信息为:#ID:line-number

  4. 自动补全
    jshell 支持自动补全 当你在输入一些java语法的时候按tab 键进行自动补全,匹配多个回显示多个你自己进行下一步补全。
  5. 引包及快捷命名
    当需要使用一些其他类的时候,非java.lang中的,在IDE中可以使用快捷键引入,在jshell 中也有相似的快捷键。
    在输入一个需要引包的类时如:
        jshell> new JFrame
    

    这个时候先按下 Shift+Tab 然后 在单独按下 i键 会出现提示:

     0: Do nothing
     1: import: javax.swing.JFrame
     Choice: 1 【 这些选择 1 则引入】
     Imported: javax.swing.JFrame
    

    当你new JFrame之后这时候可能你想讲他赋一个变量名称。

        jshell> new JFrame("Demo")
    

    这时候先按下 Shift+Tab 然后 在单独按下 v 键 会出现如下:

    ```
    JFrame | = new JFrame("Demo")
    ```
    

    光标会在 | 这里,这个时候你只需要输入变量名即可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注