使用命令行工具运行 Java(学习 Java 编程语言 002)

1. 运行 Java 程序

JDK 的全部工做都要在终端窗口中键入命令来完成。下面演示如何在命令行编译并运行 Java 程序。java

  1. 建立 Welcome.java 文件bash

    public class Welcome {
        public static void main(String[] args) {
            String greeting = "Welcome to xiang017";
            System.out.println(greeting);
    
            for (int i = 0; i < greeting.length(); i++) {
                System.out.print("=");
            }
            System.out.println();
        }
    
    }
  2. 打开命令行窗口,进入 Welcome.java 文件所在的目录。
  3. 键入下面的命令:ide

    javac Welcome.java
    java Welcome编码

    下面展现在终端执的行结果:命令行

    C:\xiang017>javac Welcome.java
    
    C:\xiang017>java Welcome
    Welcome to xiang017
    ===================
  • javac 程序是一个 Java 编译器,它将文件 Welcome.java 编译成 Welcome.class。
  • java 程序启动 Java 虚拟机,虚拟机执行编译器编译到类文件中的字节码。

2. 使用终端须要注意一下几点:

  1. 手动输入源程序,必定要注意大小写。类名和文件名一致。
  2. 编译时须要一个文件名(Welcome.java)。运行程序时,须要类名(Welcome),不要带扩展名 .class 或 .java。
  3. 若是看到如 Bad command or file name 或 java:command not found 之类的消息,就要检查 JDK 安装是否正确。
  4. 若是 javac 报告一个错误,指出没法找到 Welcome.java,就应该检查目录中是否存在这个文件。
  5. 运行程序后,若是收到关于 java.lang.NoClassDefFoundError 的错误消息,就应该仔细检查出问题的类名。
  6. 若是键入 java Welcome,而虚拟机没有找到 Welcome 类,就应该检查是否有人设置了系统的 CLASSPATH 环境变量(将这个变量设置为全局并非提倡的作法,然而, Windows 中有些比较差的软件安装程序确实会这样作)。能够像设置 PATH 环境变量同样设置 CLASSPATH,不过这里将删除这个设置。

3. 编译源程序有两种方法:

定义 2 个源文件,分别为 Xiang017.java 和 Xiang017Test.java,内容以下:code

public class Xiang017 {
    public void show() {
        System.out.println("xiang017 -> show()");
    }
}
public class Xiang017Test{
    public static void main(String[] args) {
        Xiang017 x = new Xiang017();
        x.show();
    }
}
  1. 使用通配符调用 Java 编译器
    javac Xiang017*.java

    全部与通配符匹配的源文件都将被编译成类文件。blog

  2. 关联编译 Java 文件utf-8

    javac Xiang017Test.java

    并无显示地编译 Xiang017.java。
    当 Java 编译器发现 Xiang017Test.java 使用了 Xiang017 类时会查找名为 Xiang017.class 的文件。若是没有找到这个文件,就会自动地搜索 Xiang017.java,而后,对它进行编译。
    更重要的是: 若是 Xiang017.java 版本较已有的 Xiang017.class 文件版本新,Java 编译器就会自动地从新编译这个文件。编译器

3. 在 Windows 命令行窗口中运行UTF-8 编码的 Java 文件

在 Windows 命令行中执行 Java 源码时,若是文件中有中文,就会报错。缘由是命令行是以 GBK 的格式执行源码文件,中文解析出现乱码,源码就没法编译运行了。源码

在添加环境变量 JAVA_TOOL_OPTIONS,将值设置为 “-Dfile.encoding=UTF-8”,就能够解决上述问题。
JAVA_TOOL_OPTIONS 环境变量

执行命令:
javac Xiang017.java
输出:
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 这样就能够执行 utf-8 编码格式的 Java 源码文件,

相关文章
相关标签/搜索