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

โหมดคำติชมที่แตกต่างกันใน JShell ใน Java 9 คืออะไร


เมื่อดำเนินการใน เครื่องมือ JShell จะแสดงข้อความใน return (ความสำเร็จของคำสั่ง ข้อผิดพลาด และประเภทของตัวแปรที่สร้างขึ้นพร้อมกับค่าของตัวแปร) มันถูกปรับแต่งโดยใช้คำสั่ง: "/set feedback" . คำสั่งนี้แสดง ประเภทการคืนสินค้า กำหนดค่าในปัจจุบันเช่นเดียวกับโหมดการคืนที่แตกต่างกัน ได้

jshell> /set feedback
| /set feedback normal
|
| Available feedback modes:
| concise
| normal
| silent
| verbose

มีโหมดคำติชมสี่โหมดใน JShell ตามรายการด้านล่าง:

1) /set คำติชมปกติ: นี่คือ ค่าเริ่มต้น คำติชมของ JShell เมื่อเราประเมินนิพจน์ JShell จะส่งกลับ ผลลัพธ์ . ที่เกี่ยวข้อง และ ตัวแปรภายใน ที่ได้เก็บค่าไว้ ในกรณีของ ตัวแปร การสร้าง JShell จะคืนค่าชื่อของตัวแปรและค่าที่เกี่ยวข้อง เมื่อสร้างประเภทข้อมูล (เมธอดหรือคลาส) JShell จะส่งการส่งคืนโดยระบุประเภทที่เราสร้างขึ้น

jshell> /set feedback normal
| Feedback mode: normal

jshell> 5 + 5
$1 ==> 10

jshell> int i = 20
i ==> 20

jshell> int sum(int a, int b) {
...> return a + b;
...> }
| created method sum(int,int)


2) /set คำติชมอย่างละเอียด: นี่เป็นข้อมูล ที่สุด โหมดคำติชม เมื่อประเมินคำสั่ง จะแสดงผลลัพธ์ที่สอดคล้องกันรวมถึงตัวแปรภายในที่ได้รับมอบหมาย และประเภทของนิพจน์ มันจะเหมือนกันสำหรับการสร้าง ตัวแปร . เกี่ยวกับการสร้างประเภทข้อมูล การส่งคืนจะเหมือนกับ ปกติ โหมด .

jshell> /set feedback verbose
| Feedback mode: verbose

jshell> 2 + 2
$1 ==> 4
| created scratch variable $1 : int

jshell> String str = "Tutorix"
str ==> "Tutorix"
| created variable str : String

jshell> int div(int a, int b) {
...> return a/b;
...> }
| created method div(int,int)


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

jshell> /set feedback concise
jshell> 2 + 2
$1 ==> 4
jshell> int i = 10;
jshell> float y = "xyz";
| Error:
| incompatible types: java.lang.String cannot be converted to float
| float y = "xyz";
| ^---^


4) /ปิดเสียงตอบรับ: โหมดนี้ไม่แสดงข้อมูลใดๆ เมื่อเราป้อนนิพจน์เพื่อประเมิน JShell จะเก็บผลลัพธ์ไว้ในตัวแปรภายใน แต่ไม่ได้ระบุผลลัพธ์ที่เกี่ยวข้องบนหน้าจอ เช่นเดียวกันสำหรับการสร้างชนิดข้อมูล (ตัวแปร วิธีการ หรือคลาส) ทุกอย่างดำเนินการภายในโดยไม่แสดงผลใด ๆ บนหน้าจอ (ยกเว้นในกรณีที่คำสั่งผิดพลาด)

jshell> /set feedback silent
-> 3+3
-> int x = 7
-> int sum(int x, int y) {
>> return x + y;
>> }
-> double y = "abc";
| Error:
| incompatible types: java.lang.String cannot be converted to double
| double y = "abc";
| ^---^
->