在之前的学习中,我们走进了Java的世界,安装了JDK并且配置了环境变量,完成这些之后我们就可以在我们的电脑上写一个简单的Java程序了。首先我们需要创建一个记事本并将记事本的文件后缀改为.java。
这样我们打开记事本就可以进行Java程序的编写了。
我们在文档中写下这样的代码,现在我们可能不知道这些代码的含义是什么,我们只需要照着我的代码敲一遍就好了,后面的讲解中会与大家讲解这些都是什么的,之后我们win+r cmd
打开cmd命令行窗口
找到我们刚才创建Java文件的文件目录,使用cd
进入该目录之后我们对Java文件进行编译和执行
我们可以看见Hello World 已经被我们打印出来了。
大家在执行的时候可能会遇到一定的问题,例如:
我们在编译的时候可能会出现这样的错误,错误原因是什么呢?原因是类名和文件名不相同。
上图对我们刚才写的代码进行了一个简单的分析,在Java文件中class定义的叫做类,后面的helloWorld就是类名。Java中对类名是有一定的规定的:
1、类名必须是大驼峰
MaxNum Max
等类型的
2、如果这个类是public class
那么这个类的类名必须和文件名相同。
所以我们看我们写的代码,类名既没有使用大驼峰也没有与文件名相同,所以我们编译的时候会报错,我们对代码进行修改。
这样就可以正常执行了。还有一些其他的问题,例如JDK没有配置好,没办法使用javac java
命令,我们可以使用java -version
查看自己的JDK安装和环境变量的配置是否出来问题。
向我这样的就是已经配置完成了,具体如何配置可以看一下博主的另一篇博客:JDK的安装与环境变量的配置
还有一些语法上的问题例如:分号、大小写、中文字符等,大家对照我的代码自己进行修改就可以了。好了这样我们就完成了第一个Java程序的编写,是不是非常有成就感呢?
在经过我的一系列操作之后想必大家一定很懵逼,也会有很多的问题,为什么我们不配置JDK就不能运行Java代码,javac java
这些命令的作用到底是什么呢?我们常说的Java口号"Write once, Run anywhere"
究竟是什么呢?大家不要急,我慢慢与大家分享。
我们来简单了解一下到底什么是JDK:
JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。
JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
JVM是整个Java实现跨平台的最核心的部分,Java虚拟机,所有的Java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行
由此我们可以总结出一些关系JDK包含了JRE,JRE包含了JVM。
解释完JDK我们来说Javac Java
这些命令是干什么的:
首先我们输入的
D:\Java>javac HelloWorld.java
这条指令是对D盘下的Java文件夹中的HelloWorld.java文件进行编译,编译之后我们生成.class
的字节码(二进制)文件。
之后我们输入
D:\Java>java HelloWorld
是运行我们刚才编译后生成的.class
文件
那么我们的字节码文件在哪里运行呢?编译的字节码文件是直接与机器的操作系统对应嘛,其实不是,编译生成的字节码文件需要经过JVM(Java虚拟机)的翻译之后在交给本地操作系统执行。这也就是Java的口号"Write once, Run anywhere"
的由来,只要机器安装了JDK不管什么系统都可以运行同一Java程序,因为Java虚拟机在中间做了翻译工作。大家有没有感受到Java的魅力!