Computer >> Máy Tính >  >> Lập trình >> Java

Các chế độ phản hồi khác nhau trong JShell trong Java 9 là gì?


Khi thực hiện một thao tác trong công cụ JShell , nó hiển thị một thông báo trong trở lại (thành công của lệnh, lỗi và kiểu của một biến được tạo cũng như giá trị của nó). Nó đã được tùy chỉnh bằng cách sử dụng lệnh: "/ set feedback" . Lệnh này hiển thị loại trả lại hiện được định cấu hình cũng như các chế độ trả lại khác nhau có sẵn.

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

Có bốn chế độ phản hồi có sẵn trong JShell như được liệt kê bên dưới:

1) / đặt phản hồi bình thường: Đây là mặc định Phản hồi JShell. Khi chúng tôi đánh giá một biểu thức, JShell trả về kết quả tương ứng và một biến nội bộ trong đó giá trị đã được lưu trữ. Trong trường hợp biến tạo, JShell trả về tên của biến và giá trị tương ứng. Khi tạo kiểu dữ liệu (phương thức hoặc lớp), JShell sẽ gửi trả về chỉ định kiểu mà chúng ta đã tạo.

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) / đặt chi tiết phản hồi: Đây là nhiều thông tin nhất chế độ phản hồi. Khi đánh giá một lệnh, nó sẽ hiển thị kết quả tương ứng cũng như một biến bên trong mà nó đã được gán và kiểu của biểu thức. Việc tạo biến cũng vậy . Về việc tạo kiểu dữ liệu, kết quả trả về giống với bình thường chế độ .

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) / đặt phản hồi ngắn gọn: Chế độ này hiển thị tối thiểu lượng thông tin. Khi đánh giá một biểu thức, nó cho chúng ta biết tên của một biến bên trong được tạo ra cũng như kết quả của biểu thức. Mặt khác, liên quan đến việc tạo kiểu dữ liệu (biến, phương thức hoặc lớp), không có trả về nào được thực hiện từ JShell (trừ khi mã bị lỗi).

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) / đặt phản hồi ở chế độ im lặng: Chế độ này không hiển thị bất kỳ thông tin nào. Khi chúng tôi nhập một biểu thức để đánh giá, JShell lưu trữ kết quả trong một biến nội bộ nhưng không chỉ ra kết quả tương ứng trên màn hình. Điều này cũng có thể đúng với việc tạo một kiểu dữ liệu (biến, phương thức hoặc lớp). Mọi thứ đã được thực hiện nội bộ mà không hiển thị bất kỳ kết quả nào trên màn hình (ngoại trừ trường hợp đơn đặt hàng bị lỗi).

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";
| ^---^
->