MacOS终端下执行一个简单Java脚本

Posted youngchaolin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MacOS终端下执行一个简单Java脚本相关的知识,希望对你有一定的参考价值。

MacOS下安装完Java JVM,配置好环境变量后可以在终端执行一个简单的java脚本程序,其中先使用javac编译器将.java文件编译成字节码文件,然后通过java解释器执行字节码文件。

编写一个简单的脚本

1 class Demo
2 
3     public static void main(String[] args)
4         System.out.println("hello world!");
5     
6     
7 

编写完后保存为.java格式,这里使用终端查看:

技术图片

打开终端编译

技术图片

使用javac编译完成后,执行完后目标文件夹下会多出来一个Demo.class字节码文件。

打开终端解释执行

技术图片

java命令解释执行后,发现可以正常的输出"hello world",执行OK。

Java文件名和类名尽量一致

现在有个问题,如果我将java文件中类名修改为HelloWorld,会怎样呢,编译会有什么结果,下面在终端下使用vim命令修改了类名如下所示。

技术图片

重新编译,发现目标文件夹下多出了一个HelloWorld.class的字节码文件,原来编译后文件名就是类名,使用java命令可以正常解释。

技术图片

如果有很多文件,这样类名和java文件名不一致的情况应该尽量避免,这样可以添加修饰符public,可以约束java文件名和文件里的类名必须保持一致,否则编译无法通过,如下就提示了建议修改java文件名和类名一致。

技术图片

Java文件中写多个类

如果在java文件中定义多个类也是可以的,编译后生成多个class文件。

技术图片

结论

(1)Java执行需先将代码转换成字节码文件,字节码文件被解释器执行解释后变成机器码,机器码才能被计算机识别执行。

(2)编译命令:javac 编译的java文件全名,包括文件类型java。

(3)运行命令:java 要运行的class文件名,一般为一个类对应一个class文件

 

参考博文:https://www.cnblogs.com/chengdabelief/p/6576320.html

以上是关于MacOS终端下执行一个简单Java脚本的主要内容,如果未能解决你的问题,请参考以下文章

苹果MacOS系统终端命令大全介绍?

macOS-代码调用Terminal执行脚本或者杀死进程窗口

如何在Unity中执行Python脚本后让其终端自行关闭

Tools/macOS系列macOS终端配置:zsh+iTerm2+OhMyZsh

有没有办法在大型机终端窗口中自动执行简单的重复性任务?

linux下创建一个脚本,双击后,点“在终端中执行”没反映,但点运行脚本执行,请问是为啥?