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

วิธีสร้างตัวแปรสแครช (Scratch Variables) ใน JShell ของ Java 9

JShell คืออะไร?

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

ตัวแปรสแครช (Scratch Variables) คืออะไร?

ใน JShell ค่าที่ส่งกลับมาจากการรัน snippet (ชุดคำสั่ง) จะถูกเก็บไว้ใน ตัวแปรสแครช โดยอัตโนมัติ ตัวแปรเหล่านี้จะถูกแทนด้วยสัญลักษณ์ $ ตามลำดับที่สร้างขึ้น ($1, $2, $3, ...)

เมื่อเราไม่ได้กำหนดผลลัพธ์ของนิพจน์ให้กับตัวแปรใดๆ JShell จะสร้างตัวแปรสแครชขึ้นมาเพื่อให้สามารถนำค่าที่ได้ไปใช้งานต่อได้ในภายหลัง

ตัวอย่างการสร้างตัวแปรสแครช

C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro

jshell> 3+7
$1 ==> 10

jshell> 9-2
$2 ==> 7

jshell> 4*4
$3 ==> 16

jshell> 12/4
$4 ==> 3

jshell> 19%5
$5 ==> 4

jshell> String.valueOf($2)
$6 ==> "7"

จากตัวอย่างข้างต้น จะเห็นว่ามีตัวแปรสแครชถูกสร้างขึ้น 6 ตัวแปร ($1 ถึง $6) สำหรับแต่ละนิพจน์ที่รัน

ตัวแปรที่ไม่ใช่สแครช (Non-Scratch Variables)

หากเราประกาศตัวแปรโดยระบุชื่อและชนิดข้อมูลชัดเจน ตัวแปรนั้นจะ ไม่ใช่ ตัวแปรสแครช เนื่องจากไม่สามารถอ้างอิงด้วย $ ได้

jshell> String nonScratch = "Tutorialspoint"
nonScratch ==> "Tutorialspoint"
jshell>

การแสดงตัวแปรทั้งหมดด้วยคำสั่ง /vars

คำสั่ง /vars จะแสดงรายการตัวแปรทั้งหมดใน session นั้น รวมทั้งตัวแปรสแครชและตัวแปรทั่วไป

jshell> /vars
|    int $1 = 10
|    int $2 = 7
|    int $3 = 16
|    int $4 = 3
|    int $5 = 4
|    String $6 = "7"
|    String name = "Tutorialspoint"
jshell>

สรุป

  • ตัวแปรสแครชถูกสร้างโดยอัตโนมัติเมื่อไม่ได้กำหนดตัวแปรรับค่า
  • ชื่อตัวแปรสแครชขึ้นต้นด้วย $ ตามลำดับ ($1, $2, ...)
  • สามารถนำตัวแปรสแครชไปใช้ในนิพจน์ถัดไปได้ (เช่น String.valueOf($2))
  • ใช้คำสั่ง /vars เพื่อดูตัวแปรทั้งหมดใน session