第一个Java程序不用任何IDE,用记事本去编写,用命令行去编译并运行,这样便于了解Java程序运行原理。
1、首先打开记事本,写下如下代码:
然后另存为xxx.java,xxx文件名不强求与类名相同,但是建议xxx与类名相同,如果类被public修饰,那么类名必须和xxx保持一致。
2、在该.java所在目录视图的地址栏直接敲击cmd,如下图:
3、编译阶段,如下图:(我默认认为你已经安装好了jdk并且也配置好了环境变量,如果不会配的请看我之前的文章:win11下配置jdk1.8后,命令行只能java但是无法javac_jdk没有javac_Zwarwolf的博客-CSDN博客,安装jdk1.8有一个需要注意的地方,就是安装时可以叉掉公共JRE,因为jdk自带jre,不需要再把jre再装一个)
然后在.java所在目录会产生二进制文件Test.class,这个文件名它会和.java文件里的类名一致。
如果在编译时报错如下图:
那么可以输入命令:chcp回车,查看cmd编码集,很可能会显示:
在网上查一下,或者去找到cmd程序所在目录然后查看属性,可以得知,活动代码页:936代表的意思就是说字符编码是GBK,然后你去看一下记事本,它是UTF-8编码,这时要么去控制面板的区域里面修改字符编码为UTF-8去勾选Beta版,如下图:(但是我不建议这么干,往下看,用另一种方法)
另一种方法,在编译时直接带上参数,如下图:
4、运行阶段,去运行.class文件不要带.class,因为它会隐式加上.class,如果带上.class反而会运行不了,如下图:
有时在编译阶段并没有报字符编码的错,然后在运行阶段会出现乱码,解决办法同第3点,解决之后,运行结果如下图:
至此,Java程序的命令行编译与运行完成,运行环境:win11+jdk1.8
备注:另外说一点比较重要的事,就是在同一个.java文件里面是可以写多个class的,这时在通过编译后,它会把每个类分别编译为对应类名的一个.class二进制文件,就是多个class会分别编译为不同的.class文件,再就是同一个.java文件最多只能有一个public修饰的类,并且类名必须和.java文件名字一致。