在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: normaljshell> 5 + 5$1 ==> 10jshell> int i = 20i ==> 20jshell> int sum(int a, int b) {...> return a + b;...> }| created method sum(int,int)
2) /set feedback verbose: 这是最具有信息性的反馈模式。在评估指令时,它会显示相应的结果,以及被赋值的内部变量和表达式的类型。对于变量的创建也是如此。至于数据类型的创建,返回结果与正常模式相同。
jshell> /set feedback verbose| feedback mode: verbosejshell> 2 + 2$1 ==> 4| created scratch variable $1 : intjshell> string str = "tutorix"str ==> "tutorix"| created variable str : stringjshell> int div(int a, int b) {...> return a/b;...> }| created method div(int,int)
3) /set feedback concise: 这种模式显示最小的信息量。在评估表达式时,它告诉我们创建的内部变量的名称以及表达式的结果。另一方面,关于数据类型(变量、方法或类)的创建,jshell 不会返回任何结果(除非代码有错误)。
jshell> /set feedback concisejshell> 2 + 2$1 ==> 4jshell> 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";| ^---^->
以上就是java 9中的jshell有哪些不同的反馈模式?的详细内容。