Java 9 的 JShell 中有哪些不同的反馈模式?


在 **JShell 工具**中执行操作时,它会显示一条 **返回** 消息(命令成功、错误以及创建的变量的类型及其值)。它已使用命令:**"/set feedback"** 进行自定义。此命令显示当前配置的 **返回类型** 以及可用的 **不同返回模式**。

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

JShell 中有四种可用的反馈模式,如下所示:

1) `/set feedback normal:` 这是 **默认** 的 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 feedback verbose:` 这是信息量最 **丰富** 的反馈模式。在评估指令时,它会显示相应的结果以及已为其赋值的内部变量,以及表达式的类型。创建 **变量** 也是如此。关于数据类型的创建,返回与 **普通模式** 相同。

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:` 此模式显示的信息 **最少**。在评估表达式时,它会告诉我们创建的内部变量的名称以及表达式的结果。另一方面,关于数据类型(变量、方法或类)的创建,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) `/set feedback silent:` 此模式不显示任何信息。当我们输入要评估的表达式时,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";
| ^---^
->

更新于:2020年4月6日

浏览量:170

启动您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.