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

1. 运行 Java 程序

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

  1. 创建 Welcome.java 文件

    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. 键入下面的命令:

    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,内容如下:

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
    

    所有与通配符匹配的源文件都将被编译成类文件。

  2. 关联编译 Java 文件

    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 源码文件,

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

卜祥

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值