1.编写Java源程序
- Java 源程序可以使用任何一个文本编辑器来编写,这里以 Windows 下的记事本为例。
① 新建一个空白记事本,然后如实地输入下列内容。 很多初学者可能不明白此程序的全部意义,没关系,请完全按照实例的样式输入,包括各种括号与标点符号。/* *第一个java程序 */ public class HelloJava { // 这里是程序入口 public static void main(String[] args) { // 输出字符串 System.out.println("Hello World!"); } }
- 下面对源代码中的重要组成元素进行简单介绍。
① 关键字 public 表示访问说明符,表明该类是一个公共类,可以控制其他对象对类成员的访问。
② 关键字 class 用于声明一个类,其后所跟的字符串是类的名称。
③ 关键字 static 表示该方法是一个静态方法,允许调用 main() 方法,无须创建类的实例。
④ 关键字 void 表示 main() 方法没有返回值。
⑤ main() 方法是所有程序的入口,最先开始执行。
⑥ “/”“/”之间的内容和以“//”开始的内容为 Java 程序的注释。
2.编译和运行
-
将 Java 源程序编写并保存到文件之后,还需要进行编译才能运行。编译 Java 源程序使用的是 JDK 中的 javac 命令,例如编译上节的 HelloJava.java,完整命令如下。
javac Hello.java
-
运行 Java 程序需要使用 JDK 中的 java 命令,例如运行上步生成的 .class 文件,完整命令如下:
java Hello
对图片中各个步骤的说明: -
选择“开始”|“运行”命令,打开“运行”对话框后输入 cmd 命令,按 Enter 键进入到 DOS 环境。
① 切换到 Java 源程序所在的java源程序所在目录
② 输入 javac Hello.java 命令进行编译,此时如果没有任何其他信息,表示该源程序通过了编译;反之便说明程序中存在错误,必须在记事本中打开 HelloJava.java 文件进行修改,再次保存此文件后回到命令提示符窗口重新编译(可能要反复几次),直到编译通过为止。
③ 输入 java Hello 命令执行程序,如果出现“Hello World”字符,说明程序执行成功。
3.Java编程规范
① 包的名称由一个小写字母序列组成。
② 类的名称由大写字母开头,其他字母都由小写的单词组成。
③ 类的实例的名称由一个小写字母开头,后面的单词由大写字母开头。
④ 常量的名称都大写,并且指出完整含义。
⑤ 参数的名称无其他具体规定。
⑥ 数组的命名使用“类型[] 数组名”的形式
Java程序的运行过程(执行流程)分析
- 编写:是指在 Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件。
- 编译:是指使用 Java 编译器对源文件进行错误排査的过程,编译后将生成后缀名为 .class 的字节码文件,不像C语言那样生成可执行文件。
- 运行:是指使用 Java 解释器将字节码文件翻译成机器代码,执行并显示结果。
- 运行流程
① 字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码。它是一种二进制文件,是 Java 源文件由 Java 编译器编译后生成的目标代码文件。它必须由专用的 Java 解释器来解释执行,因此 Java 是一种在编译基础上进行解释运行的语言。java 解释器负责将字节码文件翻译成具体硬件环境和操作系统平台下的机器代码,以便执行。因此 Java 程序不能直接运行在现有的操作系统平台上,它必须运行在被称为 Java 虚拟机的软件平台之上。
② Java 虚拟机(JVM)是运行 Java 程序的软件环境,Java 解释器是 Java 虚拟机的一部分。在运行 Java 程序时,首先会启动 JVM,然后由它来负责解释执行 Java 的字节码程序,并且 Java 字节码程序只能运行于 JVM 之上。这样利用 JVM 就可以把 Java 字节码程序和具体的硬件平台以及操作系统环境分隔开来,只要在不同的计算机上安装了针对特定平台的 JVM,Java 程序就可以运行,而不用考虑当前具体的硬件平台及操作系统环境,也不用考虑字节码文件是在何种平台上生成的。
③ JVM 把这种不同软、硬件平台的具体差别隐藏起来,从而实现了真正的二进制代码级的跨平台移植。JVM 是 Java 平台架构的基础,Java 的跨平台特性正是通过在 JVM 中运行 Java 程序实现的
- Java 语言这种“一次编写,到处运行”的方式,有效地解决了目前大多数高级程序设计语言需要针对不同系统来编译产生不同机器代码的问题,即硬件环境和操作平台的异构问题,大大降低了程序开发、维护和管理的开销。
- Java 程序通过 JVM 可以实现跨平台特性,但 JVM 是不跨平台的。也就是说,不同操作系统之上的 JVM 是不同的,Windows 平台之上的 JVM 不能用在 Linux 平台。
Java中JVM、JRE和JDK三者有什么区别和联系
- JDK(Java Development Kid,Java 开发开源工具包),是针对 Java 开发人员的产品,是整个 Java 的核心,包括了 Java 运行环境 JRE、Java 工具和 Java 基础类库。
- JRE(Java Runtime Environment,Java 运行环境)是运行 JAVA 程序所必须的环境的集合,包含 JVM 标准实现及 Java 核心类库。
- JVM(Java Virtual Machine,Java 虚拟机)是整个 Java 实现跨平台的最核心的部分,能够运行以 Java 语言写作的软件程序。
- JDK=JRE+多种Java开发工具
- JRE=JVM+各种类库
- 这三者的关系是一层层的嵌套关系。JDK>JRE>JVM