cmd中javac和java使用及注意事项详解

当我们需要开发Java程序时,需要使用到JDK提供的工具 javac 和 java。其中 javac 是用于编译Java源代码生成二进制字节码文件,而 java 则是用于运行已经编译好的二进制字节码文件,下面详细介绍一下在cmd中使用javac和java的方法及注意事项。

1. 安装JDK并配置环境变量

在使用javac和java之前,首先需要安装JDK并配置环境变量。具体安装过程就不再赘述,这里简单说明一下环境变量配置方法:

  • 打开控制面板并定位到系统管理;
  • 打开“系统”;
  • 单击 “高级系统设置”;
  • 单击 “环境变量” 按钮;
  • 选中“系统变量”窗口下的“Path”;
  • 编辑“Path”添加JDK目录的路径。

2. 使用javac编译Java源代码

编译Java源代码需要使用到 javac 命令。首先需要在cmd中进入源代码所在的目录,然后可以使用以下命令来将Java源代码编译为二进制字节码文件:

javac HelloWorld.java

这里假设编译的源代码文件名为 HelloWorld.java。如果编译成功,将在同一目录下生成一个名为 HelloWorld.class 的文件。

如果你的Java程序中引用了其他Java库,则可以使用 -classpath 这个参数来指定类路径。例如,我们编写的 Java 程序中使用了 Apache Commons Lang 库,可以这样编译:

javac -classpath ".:commons-lang3-3.11.jar" HelloWorld.java

3. 使用java运行二进制字节码文件

当Java源代码被编译为二进制字节码文件后,就可以使用 java 命令来运行这个程序。同样,需要在cmd中进入字节码所在的目录,然后可以使用以下命令来运行程序:

java HelloWorld

这里假设编译后的字节码文件名为 HelloWorld.class。注意,这里不需要指定文件后缀名,只需要指定类名即可。如果一切顺利,你将在控制台上看到 HelloWorld 程序的输出。

如果你的程序需要传入参数,则可以在运行命令中指定。例如,以下命令将传入两个参数:

java HelloWorld arg1 arg2

这将会将 "arg1" 和 "arg2" 两个参数传递给 HelloWorld 程序。

注意事项:

  • 使用 javac 编译Java源文件时,需要指定源文件名及其后缀名,例如:javac HelloWorld.java;
  • 使用 java 运行程序时,只需要指定类名,不需要指定后缀名,例如:java HelloWorld;
  • 在编译时需要指定类路径,-classpath 参数可以指定类路径,多个路径之间使用冒号(:)分隔;
  • 在运行程序时,可以通过命令行传递参数,参数之间使用空格分隔。

示例:

我们来看一个简单的示例,假设你当前目录下有一个名为 HelloWorld.java 的Java源代码文件,代码内容如下:

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

为了编译并运行这个程序,首先要进入源代码所在目录:

cd /path/to/HelloWorld

然后,编译源代码,生成字节码文件:

javac HelloWorld.java

如果没有任何错误,则会在当前目录下生成一个名为 HelloWorld.class 的文件。接下来,可以使用以下命令来运行程序:

java HelloWorld

输出结果为:

Hello, world!

至此,我们就完成了一个简单的Java程序的编写、编译和运行。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:cmd中javac和java使用及注意事项详解 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • Java实现简单的万年历

    下面就是讲解实现Java简单的万年历的攻略及示例说明: 1. 确定需求和功能 在实现Java简单的万年历之前,我们需要定义该项目的需求和功能,以便能够更好地进行程序设计和编写。以下是常见的需求和功能: 能够查询指定日期的日历; 能够查询制定月份和年份的日历; 能够查询当前日期的日历; 能够显示节假日和纪念日等特殊日期。 2. 时间库的选择 为了实现Java简…

    Java 2023年5月19日
    00
  • java中List对象列表实现去重或取出及排序的方法

    当我们在进行Java编程时,经常会涉及到对List对象列表进行去重、取出特定元素以及排序等操作。下面就为大家介绍一些Java中对List对象列表进行去重、取出及排序的方法: 实现List对象列表去重的方法 方法一:通过HashSet去重 List<String> list = new ArrayList<>(); list.add(&…

    Java 2023年5月26日
    00
  • Mybatis下动态sql中##和$$的区别讲解

    针对”Mybatis下动态sql中##和$$的区别讲解”这个问题,下面是完整的攻略: 1. ##和$$的基本区别 1.1 ##和$$分别代表什么 Mybatis中的#{}和${}都是用来表示动态sql的。其中,#{}叫做“预编译”。#{}可以防止SQL注入攻击,是使用Mybatis的推荐方式。 在#{}中使用的参数会被自动进行占位符处理,不需要手动添加占位符…

    Java 2023年5月19日
    00
  • Java实现二维码生成的代码方法

    Java实现二维码生成的代码方法可以通过使用第三方库来实现,比如zxing和google的qrcode。下面我们来分别介绍两种库的使用方法以及两个示例。 zxing库生成二维码的代码方法: 1.首先,需要在项目中引入zxing的Maven依赖: <dependency> <groupId>com.google.zxing</gr…

    Java 2023年5月23日
    00
  • Spring Boot实现图片上传功能

    下面是关于“SpringBoot实现图片上传功能”的完整攻略: 1. 添加依赖 首先需要在 pom.xml 文件中添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web&…

    Java 2023年5月15日
    00
  • SpringBoot配置绑定方法详解

    Spring Boot提供了一种方便的方式来将配置文件中的属性绑定到Java对象中,这被称为配置绑定。以下是Spring Boot配置绑定方法的详解: 1. 使用@ConfigurationProperties注解实现配置绑定 @ConfigurationProperties注解可以将配置文件中的属性绑定到Java对象中。使用@ConfigurationPr…

    Java 2023年5月14日
    00
  • 浅谈SpringMVC的拦截器(Interceptor)和Servlet 的过滤器(Filter)的区别与联系 及SpringMVC 的配置文件

    浅谈SpringMVC的拦截器(Interceptor)和Servlet的过滤器(Filter)的区别与联系及SpringMVC的配置文件 拦截器和过滤器的区别与联系 拦截器和过滤器都是Web应用程序中常用的组件,它们可以用来拦截请求并进行处理。虽然它们的作用类似,但是它们之间还是有一些区别的。 区别 拦截器是SpringMVC框架中的组件,而过滤器是Ser…

    Java 2023年5月18日
    00
  • servlet和tomcat_动力节点Java学院整理

    Servlet和Tomcat 前言 在 Java 编程中,Servlet 是一个底层的基础模块。它负责处理来自 Web 服务请求并返回响应。Tomcat 是一个 Servlet 容器,也就是说,它可以部署和运行 Servlet 应用程序。因此,学习 Servlet 和 Tomcat 是Web开发的第一步。 本文将详细讲解 Servlet 和 Tomcat 的…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部