JAVA学习之运行第一个Java程序以及了解Java的运行机制

JAVA学习之运行第一个Java程序以及了解Java的运行机制

行之力则知愈进,知之深则行愈达。 ——南宋 · 张栻《论语解·序》

第一个Java程序——Hello world!

  1. 先创建一个 .txt 文件,将文件扩展名修改为 .java。

易错:修改文件扩展名过程中,可能会遇到文件没有显示扩展名这种情况,从而导致错误。以下情况就表示文件扩展名没有修改正确。

下方的文件类型仍然是 .txt文本文件。

只需要点击上方的 ”查看“ 按钮,将文件扩展名勾上即可。如下图:

  1. 编写代码:

    public class Hello{
        public static void main(String[] args){
            System.out.println("Hello,world!");
        }
    }
    

    扩展:

    根据《阿里巴巴Java开发手册》里规定:中括号 [] 是数组类型的一部分,所以规定定义如下:String[] args;

    反例:String args[];

    虽然反例的写法仍然可以使程序正常运行,但是为了养成良好的规范,我们还是以上述规范为主。

  2. 使用 javac 命令编译该 Hello.java 文件:

    (1)在该文件目录路径输入cmd,进入命令行窗口:

    可以看到命令行就进入了该目录下。(或者也可以win+r,输入cmd,接着使用Dos命令进入即将编译的 java 文件所在目录

    (2)编译:

    语法:javac + 文件名(注意加 .java 后缀)

    可以看到目录下生成了一个 Hello.class 的文件,则表示编译成功。

  3. 使用 java 命令运行 Hello.class 文件

语法:java + class文件名(注意:这里不需要加 .class 后缀)

可能出现错误的情况

  1. 字母大小写不一致问题,Java语言是大小写敏感的

  2. 文件名必须与类名一致,否则报错。

  3. 代码中符号没有使用英文半角状态下的符号,尤其是误使用了中文状态下的符号。

Java程序的运行机制

前面运行了第一个Java程序,所以需要了解一下 Java程序的运行机制。

Java是一种特殊的高级语言,它具有编译型语言的特征,同时也具有解释型语言的特征。因此,Java语言需要先经过编译,后解释才能运行。(由于现今编译型和解释型的界限越来越模糊,这里并不讨论 Java 到底是编译型语言还是解释型语言。)

编译型语言:程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,例如exe可执行文件,以后运行的时候就不需要重新编译了,直接使用编译之后的结果就行了,因为翻译只做一次,运行时不需要翻译,所以编译型语言的程序执行效率高。

例如:C、C++

解释型语言:程序不需要编译,省了一道工序,解释型语言在运行程序的时候使用专门的解释器对源程序进行逐行解释成特定平台的机器码并立即执行的语言,每执行一次就要翻译一次,效率比较低。

例如:Python、Ruby

Java 代码在运行前需要先通过Java编译器预编译成.class文件,接着.class文件加载到 JVM里进行解释。如下图:

所以,Java的跨平台性也得益于它的运行机制。

开发人员使用Java语言编写的 *.java源文件,需要经过编译器执行javac命令编译成字节码文件,也即 *.class文件。注意:该字节码文件与平台无关,可被特定平台的Java解释器执行,字节码文件可以看做成一种中间语言当需要在不同平台运行时,只需要将字节码(.class)文件加载到相应平台的 JVM 对该文件进行解释运行,从而实现一次编写,到处运行的功能。

posted @ 2022-02-13 23:17  小钊丶  阅读(162)  评论(0编辑  收藏  举报