在JDK11中运行单文件代码

翻译:叩丁狼教育吴嘉俊 

JEP330-启动单文件代码程序(Launch Single-File Source-Code Programs)是即将更新的JDK11(18.9)版本中一个很不错的功能。这个功能允许你直接使用java解析器运行java代码。java文件会在内存中执行编译并且直接执行。唯一的约束在于所有相关的类必须定义在东一个java文件中。

这个特征非常适合刚刚准备学习java的童鞋,或者想快速尝试一些简单代码。这个功能和jshell会成为所有java初学者的最强大的工具。不仅仅如此,所有的成熟的开发,可以使用这个工具来快速验证和学习新的API。

在本文中,我不会具体去探讨这个功能是如何实现的,相反,我们会集中精力在如何使用这个功能。好了,我们仍然从Hello World示例开始!

最基础的案例

把以下代码保存到Hello.java文件中:

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello World!!!");
    }
}

我们将会按照下面的方法来执行上面的代码:

PS G:\samples\java11\single-file> java HelloWorld.java
Hello World!!!

在上面的例子,我们仅仅只是在一个类中包含了一个main方法。我们直接使用java命令去执行这个.java文件。如果这个文件不是以.java结尾,我们可以使用—source参数来执行,这个待会会看到。

包含命令行参数

接下来的案例,我们传入一个参数,允许给所有人打招呼:

public class Greeting{
    public static void main(String[] args){
        if ( args == null || args.length < 1 ){
            System.err.println("Name required");
            System.exit(1);
        }
        System.out.println(String.format("Hello %s!!", args[0]));
    }
}

我们把上面的代码保存到HelloGreeting.java文件中。注意,这个文件名字和我们的类的名字不匹配。我们按照如下命令执行:

PS G:\samples\java11\single-file> java HelloGreeting.Java sana
Hello sana!!

任何一个跟在文件名后面的参数都被作为方法的参数传入方法执行。我们把Hello

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值