在上一篇文章 【[准备编译环境】]()中我们完成了 Java 编译环境的搭建,这篇文章内容主要是来教你怎么开始编写第一个 Java 程序,并运行它。
分为两个步骤,首先我会一步一步的告诉你如何编写一个简单的 Java 程序-Hello World,并且教你运行它。之后,我再帮你详细解读这个小程序。
1. 编写 Hello World 小程序
好,先开始编写一个简单的Hello World 的 Java 小程序,这个过程中,不要去在意代码是什么意思,只管照着我的步骤做,这个阶段的目标是能够正确编写,并且成功运行这个小程序。OK,接下来 Please flow me.
1) 新建一个 HelloWorld.java 的文件,放到一个文件夹下面。新建文件之前,修改一下文件显示,要求把文件后缀名显示出来,不然你可能会新建一个 HelloWorld.java.txt 文件。
先新建一个文本文件,命名为 HelloWorld.java,记得要修改文件后缀为 .java ,主要文件名称的大小写。
2)记事本编辑 HelloWorld.java 文件,编写如下代码,并保存。需要注意的地方:输入法状态调整为英文状态;代码的缩进;不要忘记分号;下面图片标注内容。
代码:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
这段代码最终执行的结果会输出 Hello World 字符串到命令窗口。
2. 编译 HelloWorld.java
OK,现在代码编写完成,我希望运行这段代码。但是计算机不能够直接运行 HelloWorld.java 文件。所以需要我们做一个工作。就是编译 HelloWorld.java 文件为计算机可运行的 HelloWorld.class 文件。
1)首先使用管理员权限调出 “cmd命令窗口”。
2)编译。先使用 cd c:/Java demo(换成你自己的目录) 命令切换目录到 HelloWorld.java 文件所在目录。然后执行 javac HelloWorld.java 命令进行编译,javac 是 JDK 中的编译工具命令。编译成功,不会提示任何消息,并且会在 HelloWorld.java 所在目录下生成同名的 HelloWorld.class 文件。
如果编译错误,则命令窗口会提示错误信息出来。
3. 运行 HelloWorld
使用 javac 命令完成 java 文件编译之后,接着执行 java HelloWorld 命令(注意:这里文件名称不带后缀),运行程序。命令窗口输出字符串:Hello World ,表示我们运行成功。
Java HelloWorld 命令执行之后,实际上是 JRE 运行时环境把编译后的 HelloWorld.class 文件解释成计算机可以直接识别的 0和1 格式的指令。
4. 程序解读
这部分内容来解读下程序,不明白没有关系,先去照葫芦画瓢做出来,不要过于纠结。当你代码练习的多了之后,自然会理解。
这个程序涉及到几个概念,先来解释一下,有助于你的理解。
1. 类和对象
- 现实世界中的类:人类、动物类、男人、女人。是一个概念,并不真实存在。
- 现实世界中对象:一个人、一只小狗、张三、翠花。是真实存在的。
- 类是一个对象的模板,对象是一个类的具体事物。
- Java 是面向对象语言,他模拟现实世界中的类和对象。把要实现的需求,抽象出类,用 Java 代码去定义类和类所具有的属性和功能。
面向对象的思维很重要,一个程序员如果不能理解面向对象。那他是一个lower。先理解到这,后面内容会用代码详细讲解面向对象编程。
2. 函数
你早上醒了,喊了一嗓子:“妈,给我做早饭” 这是典型的函数应用,你不知道早餐怎么做出来的,就是喊了一下。这个叫函数调用,妈妈提供了函数的具体实现。也就是说妈妈提供了函数,你调用了函数。
一个对象具备某个功能,在 Java 程序中,可以映射为一个函数。比如一个英语老师的教英语的能力,可以映射为一个 teachEnglish() 函数,函数里面还可以传递一下参数。先理解到这儿,后面会代码详细讲解函数。
3. 语句
语句是 Java 程序最小的一个执行单位,像一个指令,Java 程序中,必须使用一个英文分号结束一条语句。
好了,现在先来看一下我们的 HelloWorld 这段程序,为了便于解释,我为程序标记一下序号。
1)Java 是面向对象的语言,所以 Java 程序是一个类构成的。类里面是变量和函数,函数里面是语句。
public class HelloWorld {}
定义一个名字为 HelloWorld 的类,注意类名必须和 java 文件名保持一致,通常类名一个字母大写(约定俗称)。一个 Java 文件通常包括一个类,也可以定义两个类。{}
中主要放置具体变量和函数。
2)public static void main(String[] args){}
定义了一个 main 函数,这是一个特殊的函数,只有这个函数才能作为程序的入口。当执行这段程序时,运行时环境会去找这个main函数,如果找不到,这段程序就不能执行。
main
是方法的名字,括号里面 String[]
是传递的参数类型,Java 是静态类型程序,任何类型的参数和变量都要先声明其类型,args
是参数的名称。void 是代表这个main
函数不给计算机返回任何值。public和static是修饰这个函数的修饰符,后面再做解释。{}
里面定义函数的具体实现,可以先理解为具体指令。
3)System.out.println("Hello World")
这句代码意思是在命令窗口中打印字符串:Hello World。
5. 命令的简单理解
对于用到的两个命令,简单理解下。实际的项目过程中,我们不会这样手工去执行这两个命令去编译和执行程序。通常会使用专门的集成开发工具(IDE),IDE会帮我们自动编译和执行程序。
javac HelloWorld.java
java 命令后面跟某个 Java 文件,执行之后会把 Java 文件编译成一个同名的 class 文件,放在 Java 文件所在目录下。java 命令其实是 JDK 工具中的一个编译命令。
java HelloWorld
该命令是执行编译好的 class 文件。
6. 建议
OK,第一个简单的 Hello World 程序,我已经详细的为你做了演练与解释。当下对于你最重要的就是练习。按照我的步骤,反复练习,直到形成你的肌肉记忆。你可以练习 10 遍、20 遍、甚至更多。如果你觉得自己很聪明,不用练习。那么建议你别学习编程了,因为不去动手练习,是永远学不会编程的。