mac终端写java_MacOS终端下执行一个简单Java脚本

本文介绍了如何在MacOS终端环境下,配置好Java环境后,编写、编译和运行Java程序。讲解了Java文件名与类名的关系,以及在有包名的情况下如何编译和执行。通过示例展示了javac和java命令的用法。
摘要由CSDN通过智能技术生成

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

编写一个简单的脚本

1 classDemo{2

3 public static voidmain(String[] args){4 System.out.println("hello world!");5 }6

7 }

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

e05a3a5db05fde1e2f02b54cfcd8e3d8.png

打开终端编译

2a423c0c548b93b96bd38b3f02d476c8.png

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

打开终端解释执行

3cd4411ca81e04733c4077a795f1db2d.png

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

Java文件名和类名尽量一致

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

3654117772b08bb581a93022876b36bf.png

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

eff81602870da34e03fd111ab9960fe0.png

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

09236492362da0b32592d34cfc2bf583.png

Java文件中写多个类

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

1ef3a1745bbb0cbc211e3c9bbd761571.png

在代码中指定包名

如果在代码中指定了包名,则使用javac -d 编译完成后文件夹存放地 java文件命令来编译,这样会自动生成文件夹嵌套,并将对应的class文件存放到文件夹下。如下图所示在Demo.java文件中添加了包名com.boe.exer,使用命令后就在当前文件目录下生成多级目录,并可以使用javac来执行,但是需要写class文件包名+类名。

95552a1a20c1b4efa1299baf2e7fae15.png

结论

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值