Java 9 JShell交互式编程指南
简介
JShell是Java 9引入的一个交互式命令行工具,它允许开发者快速评估声明(变量、方法、类)、语句和表达式。JShell也被称为Read-Evaluate-Print Loop(REPL)。本教程将带你了解如何使用JShell进行编程。
启动JShell
打开命令行工具,输入jshell
即可启动:
C:\>jshell
| Welcome to JShell -- Version 11
| For an introduction type: /help intro
声明变量
在JShell中,你可以声明变量,并且分号;
在语句末尾是可选的:
jshell> int x = 99;
x ==> 99
反馈模式
JShell提供了反馈模式,显示变量赋值的结果。默认模式是normal
,但可以更改为verbose
以获得更详细的反馈:
jshell> /set feedback verbose
| Feedback mode: verbose
jshell> int x = 99;
x ==> 99
| modified variable x : int
| update overwrote variable x : int
调用方法
可以直接调用Java类的方法,JShell会创建一个临时变量来存储结果:
jshell> Math.random();
$3 ==> 0.37787313137838363
| created scratch variable $3 : double
临时变量
如果表达式没有赋值给命名变量,JShell会创建一个临时变量,以便之后引用:
jshell> System.out.println($3 + 5);
5.377873131378384
列出语句/表达式/声明类型
可以使用/list
命令查看所有已输入的语句、表达式和声明的类型:
jshell> /list
2 : int x = 99;
3 : Math.random();
4 : System.out.println($3 + 5);
声明方法
JShell允许你声明方法,并且可以调用它们:
jshell> long factorial(int n) { return n==1 ? 1: n * factorial(n-1); }
| created method factorial(int)
jshell> factorial(6);
$8 ==> 720
创建类
你可以在JShell中创建类,并使用它们:
jshell> class BonusCalc {
...> private int rate;
...> BonusCalc(int rate) {
...> this.rate = rate;
...> }
...> int calc(int salary) {
...> return salary + (salary * rate) / 100;
...> }
...> }
| created class BonusCalc
jshell> BonusCalc threePercentBonusCalc = new BonusCalc(3);
threePercentBonusCalc ==> BonusCalc@d2cc05a
| created variable threePercentBonusCalc : BonusCalc
jshell> threePercentBonusCalc.calc(1500);
$11 ==> 1545
使用Tab键
JShell支持Tab键自动完成功能,这对于输入引用变量或命令非常有用:
jshell> /list
导入包
使用/imports
命令可以查看默认导入的包,也可以手动导入其他包:
jshell> /imports
jshell> import java.time.*;
jshell> LocalTime.now();
$13 ==> 00:12:52.282766900
| created scratch variable $13 : LocalTime
使用/help
/help
命令提供了JShell可用命令的列表和介绍:
jshell> /help
通过本教程,你应该对JShell的基本使用有了一定的了解。JShell是一个强大的工具,可以帮助你在不编写完整程序的情况下快速测试和验证代码片段。