Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะแสดงคำสั่งรายการต่าง ๆ ใน JShell ใน Java 9 ได้อย่างไร


JShell ได้แนะนำใน Java 9 และเป็น บรรทัดคำสั่ง เครื่องมือที่ช่วยให้เราป้อนคำสั่ง นิพจน์ เมธอด และคลาสง่ายๆ โดยไม่ต้องใช้ main () วิธีการ

เมื่อเราสามารถป้อนรหัสใน JShell โค้ดได้กำหนด ID ที่ไม่ซ้ำ . ID นี้เริ่มต้นที่ 1 และเพิ่มขึ้นสำหรับแต่ละคำสั่งที่ป้อนใน JShell เช่นเดียวกันอาจเป็นจริงสำหรับไลบรารีที่โหลดเมื่อเริ่มต้น สำหรับการนำเข้าแต่ละรายการ รหัสที่ไม่ซ้ำ ได้รับมอบหมาย. เริ่มต้นด้วย $1 และจะเพิ่มขึ้นสำหรับแต่ละโค้ดที่โหลด ($2, $3 และอื่น ๆ). มีคำสั่งภายในสำหรับแสดงรายการโค้ดทั้งหมดที่โหลด และป้อนระหว่างเซสชัน จากนั้นใช้ "/list " คำสั่ง

/list
/list [ID]
/list [Code_Name]
/list -start
/list -all
  • /รายการ: คำสั่งนี้แสดงโค้ดที่ใช้งานอยู่ทั้งหมดที่ป้อนในเซสชันปัจจุบัน (ยกเว้นโค้ดที่โหลดเมื่อ JShell เริ่มทำงาน)
  • /list [ID]: คำสั่งนี้แสดงซอร์สโค้ดที่สอดคล้องกับ ID ที่ป้อน
  • /list [Code_Name]: แสดงซอร์สโค้ดที่ตรงกับชื่อที่ป้อน
  • /list -start: คำสั่งนี้แสดงโค้ดทั้งหมดที่โหลดเมื่อ JShell เริ่มทำงาน เมื่อเริ่มเซสชัน การนำเข้าทั้งหมดที่โหลดไว้ล่วงหน้าโดยค่าเริ่มต้นจะแสดงขึ้น และอาจเป็นรหัสที่คุณเองต้องการโหลดล่วงหน้า (จุดนี้จะอธิบายไว้ในส่วนที่สาม ในบท การปรับแต่งการเริ่มต้น JShell)
  • /list -all: คำสั่งนี้แสดงรายการโค้ดทั้งหมดที่ทำงานอยู่ ไม่ทำงาน มีข้อผิดพลาด และโหลดไว้ล่วงหน้าที่ป้อนระหว่างเซสชัน JShell

ในข้อมูลโค้ดด้านล่าง เราสามารถแสดงรายการการนำเข้า นิพจน์ และอื่นๆ ที่ป้อนทั้งหมดโดยใช้ "/list -all " คำสั่ง

jshell> /imports
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*
jshell> LocalDate localDate = LocalDate.of(2020, 04, 10)
|   Error:
|   cannot find symbol
|     symbol: class LocalDate
|   LocalDate localDate = LocalDate.of(2020, 04, 10);
|   ^-------^
|   Error:
|   cannot find symbol
|     symbol: variable LocalDate
|   LocalDate localDate = LocalDate.of(2020, 04, 10);
|   ^-------^

jshell> int x = 10
x ==> 10

jshell> public enum Operate {
...>       ADDITION,
...>       DIVISION;
...>    }
| created enum Operate

jshell> /list -all

s1 : import java.io.*;
s2 : import java.math.*;
s3 : import java.net.*;
s4 : import java.nio.file.*;
s5 : import java.util.*;
s6 : import java.util.concurrent.*;
s7 : import java.util.function.*;
s8 : import java.util.prefs.*;
s9 : import java.util.regex.*;
s10 : import java.util.stream.*;
e1 : LocalDate localDate = LocalDate.of(2020, 04, 10);
1 : int x = 10;
2 : public enum Operate {
       ADDITION,
       DIVISION;
    }

ในข้อมูลโค้ดด้านล่าง เราสามารถตั้งชื่อ ตัวแปร , วิธีการ หรือแม้แต่ประเภทที่มีชื่อเดียวกัน จากนั้น เราก็สามารถใช้ "/list " คำสั่งแสดงการเกิดขึ้นต่าง ๆ ของชื่อนี้กับประเภทที่สอดคล้องกัน

jshell> int x = 10
x ==> 10

jshell> public int x(int y) {
...>       return y;
...>    }
| created method x(int)

jshell> public long x(long y, long z) {
...>       return y + z;
...>    }
| created method x(long,long)

jshell> /list x

1 : int x = 10;
2 : public int x(int y) {
       return y;
    }
3 : public long x(long y, long z) {
       return y + z;
    }