Java 9 ได้แนะนำคุณสมบัติใหม่คือการสร้าง REPL (อ่าน-ประเมิน-พิมพ์-วนซ้ำ ) เรียกว่า JShell . เป็น บรรทัดคำสั่ง เครื่องมือพร้อมต์เพื่อประเมินโค้ด Java โดยไม่ต้องเขียนโปรแกรมให้สมบูรณ์
เมื่อเราสามารถป้อนโค้ดหรือคำสั่งภายในใน JShell ได้ เราจำเป็นต้องใช้ระหว่างเซสชันปัจจุบัน เมื่อเราสามารถปิด JShell และเข้าสู่ระบบได้อีกครั้ง รหัสทั้งหมดที่เคยป้อนไว้ก่อนหน้านี้จะสูญหายไป มีการใช้คำสั่งภายในเพื่อบันทึกรหัสทั้งหมดที่ป้อนลงในไฟล์โดยใช้คำสั่ง "/save " คำสั่ง
/ save [file-path] / save -all [file-path] / save -history [file-path] / save -start [file-path]
- /save [เส้นทางไฟล์]: โดยไม่มีอาร์กิวเมนต์ คำสั่งนี้จะบันทึกโค้ดที่ใช้งานอยู่ทั้งหมดที่ป้อนระหว่างเซสชันในไฟล์ที่ป้อนในอาร์กิวเมนต์ที่สอง โปรดทราบว่ารหัสที่ป้อนผิดพลาดและคำสั่งภายในจะไม่ถูกบันทึกในไฟล์
- /save -all [file-path]: บันทึกรหัสที่ใช้งานอยู่ทั้งหมด เกิดข้อผิดพลาดและเมื่อเริ่มต้น ป้อนระหว่างเซสชัน ในไฟล์ที่ป้อนเป็นอาร์กิวเมนต์ที่สอง คำสั่งซื้อภายในที่ป้อนจะไม่ถูกบันทึก
- /save -history [file-path]: บันทึกรหัสและคำสั่งทั้งหมดที่ป้อนระหว่างเซสชันในไฟล์ที่ป้อนในอาร์กิวเมนต์ที่สอง แม้แต่คำสั่งภายในก็ยังถูกบันทึกไว้ในไฟล์
- /save -start :บันทึกโค้ดทั้งหมดที่เปิดใช้งานเมื่อ JShell เริ่มได้
ในข้อมูลโค้ดด้านล่าง โค้ดที่ป้อนใน JShell จะถูกบันทึกไว้ในไฟล์ต่างๆ ขึ้นอยู่กับตัวเลือกที่ป้อนหลังจาก "/save" สั่งการ. เราจำเป็นต้องบันทึกไฟล์เหล่านั้นในไดเร็กทอรีด้วย ".jsh " ส่วนขยาย
C:\Users\User>jshell | Welcome to JShell -- Version 9.0.4 | For an introduction type: /help intro jshell> int x = 20 x ==> 20 jshell> double y = 30 y ==> 30.0 jshell> public int sum(int a, int b) { ...> return a + b; ...> } | created method sum(int,int) jshell> String str = "TutorialsPoint" str ==> "TutorialsPoint" jshell> /list 1 : int x = 20; 2 : double y = 30; 3 : public int sum(int a, int b) { return a + b; } 4 : String str = "TutorialsPoint"; jshell> int var = "error" | Error: | incompatible types: java.lang.String cannot be converted to int | int var = "error"; | ^-----^ jshell> /save C:\Users\User\save.jsh jshell> /save -all C:\Users\User\saveAll.jsh jshell> /save -history C:\Users\User\saveHistory.jsh jshell> /save -start C:\Users\User\saveStart.jsh