Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Các chế độ phản hồi (feedback modes) khác nhau trong JShell Java 9


Khi thực hiện thao tác trong công cụ JShell, nó hiển thị thông báo trong kết quả trả về (thành công của lệnh, lỗi, kiểu của biến tạo ra cũng như giá trị của nó). Nó có thể tùy chỉnh bằng lệnh: "/set feedback". Lệnh này hiển thị kiểu phản hồi hiện tại cũng như các chế độ phản hồ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 trong JShell như sau:

1) /set feedback normal: Đây là mặc định của JShell. Khi đánh giá biểu thức, JShell trả về kết quả tương ứng và biến nội bộ lưu giá trị. Trong trường hợp tạo biến, JShell trả về tên biến và giá trị. Khi tạo kiểu dữ liệu (phương thức hoặc lớp), JShell gửi phản hồi chỉ định kiểu đã 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) /set feedback verbose: Đây là chế độ thông tin chi tiết nhất. Khi đánh giá lệnh, nó hiển thị kết quả, biến nội bộ được gán, và kiểu của biểu thức. Tương tự cho tạo biến. Đối với tạo kiểu dữ liệu, phản hồi giống chế độ normal.

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) /set feedback concise: Chế độ này hiển thị thông tin tối thiểu. Khi đánh giá biểu thức, nó cho biết tên biến nội bộ tạo ra và kết quả. Ngược lại, khi tạo kiểu dữ liệu (biến, phương thức, lớp), JShell không trả về gì (trừ khi mã 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) /set feedback silent: Chế độ này không hiển thị bất kỳ thông tin nào. Khi nhập biểu thức, JShell lưu kết quả vào biến nội bộ nhưng không chỉ ra kết quả trên màn hình. Tương tự cho tạo kiểu dữ liệu. Mọi thứ diễn ra nội bộ mà không hiển thị kết quả (trừ khi lệnh 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";
| ^---^
->