天天看點

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

第一章中提到了一個 JDK9 才出現的小工具:jshell。要知道在之前的版本中,Java 在指令行工具這一塊一直是處于缺失的,JDK9 才第一次有了指令行工具。本着沒用過,就去試試看的想法,決定暫時不看第二章,而轉而學習 jshell的用法。

DOC文檔1(英文):

​​Introduction to JShellThe Java Shell tool (JShell) is an interactive tool for learning the Java programming language and prototyping Java code. JShell is a Read-Evaluate-Print Loop (REPL), which evaluates declarations, statements, and expressions as they are entered and immediately shows the results. The tool is run from the command line.

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

https://docs.oracle.com/javase/9/jshell/introduction-jshell.htm#JSHEL-GUID-630F27C8-1195-4989-9F6B-2C51D46F52C8​​

DOC文檔2(中文):

​​Java9 Shell工具(JShell) - 芒果文檔https://www.imangodoc.com/12383.html​​

1. 進入

  jshell

2. 退出

/exit

效果如下:

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

3. 列印

System.out.println("Hello jshell!");

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

 4. 變量與計算

int a = 1;
int b = 2;
a+b      
《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

注意,這裡的這個$4 , 是對無名變量的辨別,可以作為變量名來進行輸出或者計算,例如:

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

 5. 獨立方法,類的使用

void show(){System.out.println(a+b);}

show();      
《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell
class A{void show(){System.out.println(a+b);}}

new A().show();      
《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

 6. 導入

可導入包查詢:

/import

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

 導入包:

import java.io.*;

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

 7. 專屬指令

檢視變量:/vars

檢視所有生效指令:/list

檢視所有可執行指令:/help

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

真的使用到的情

 8. 代碼補全

        鍵入部分内容後,輸入TAB鍵,可以自動補全或者給出選擇的提示,例如下例為輸入"div<Tab>"的效果:

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

         假設有多種情況,觸發<Tab>代碼補全會給出多個可能,例如:System.c<Tab>:

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

 9. 自動導入

1. 輸入new JFrame

2. 按下 Shift+TAB,松開(注意1和2兩步是分開的,按住shift+tab後要先松開)

3.輸入i,看到導入提示

4.選擇要導入的選項(前面的标号1)

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

 10. 建立變量

使用 v 指令可以進行 導入+變量補全

1. 輸入new JFrame("Demo);

2. 按下 Shift+TAB,松開

3.輸入v,看到 nJFrame <光标> = new JFrame("Demo");【未解之謎會多個n,不影響使用】

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

11. 細節補充

看到官方例子類是可以換行的,但是我自己的回車就建立了,就很疑惑:

《Java 核心技術 卷1》 筆記:第一章的額外小知識補充-jshell

稍微琢磨了一下,用指令行未寫完的情況,括号不能提前寫完,例如上面,

class B{}<Enter>      

這樣操作相當于指令直接結束了

class C{<Enter>

}<Enter>      

這樣就可以打多行代碼

喜歡的話,點個贊吧~!平時做題,以及筆記内容将更新到公衆号。

關注公衆号,互相學習:钰娘娘知識彙總