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

 更新时间:2019年07月01日 11:28:47   作者:望穿秋水见伊人  
这篇文章主要介绍了cmd中javac和java使用及注意事项详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、简述:

cmd中,执行java命令与javac命令的区别:

javac:是编译命令,将java源文件编译成.class字节码文件。

例如:javac hello.java

将生成hello.class文件。

java:是运行字节码文件;由java虚拟机对字节码进行解释和运行。

例如:java hello

二、详述:

下面我们来写个java文件试试。

1、打开记事本,输入一个类+主函数

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

2、点击 文件->保存,保存到相应文件夹下,文件名修改了xxx.java

3、在Hello.java文件夹内,空白位置,按住键盘Shift,右击鼠标,选择“在此处打开命令窗口”

4、输入 javac Hello.java 回车

如果java类书写格式没有错误,cmd不会报错,而且在java文件同目录内生成一个class文件。

5、输入 java Hello 回车

若输出下图,恭喜你,成功了!你已经把java类中,输出打印“Hello World”显示在cmd命令行中。

 

三、总结:

首先我们使用记事本编写java源代码,扩展名.java;

在命令行模式中,输入命令:javac 源文件名.java,对源代码进行编译,生成class字节码文件;

编译完成后,如果没有报错信息,输入命令:java Hello,对class字节码文件进行解释运行,打印“Hello World”。

为了方便大家理解javac和java编译运行过程,可以看下图:

至此,我相信大家应该对javac和java使用有了比较客观的了解。

四、答疑:

接下来,我们来看一下大家在实践中容易遇到的问题。

问题一:cmd命令一定要准确,区分大小写,注意是否要加扩展名。

javac Hello.java

java Hello

问题二:javac命令报错,如下图

javac命令报错,一般都是java代码有误,需要检查修改。

下图中,java代码很明显的错误,输出打印语句写在了main函数的外面,修改正确就不会报错了。

javac命令报错,去看java代码,肯定有错误。

问题三:javac命令执行完成,生成class文件,但是java命令报错,如下图

我查阅资料,找到报错的原因,首先检查java源代码,记住,java类不要加package路径!再就是java环境变量有问题,咱们一起来检查一下。

右击“计算机-属性-高级系统设置”,单击“环境变量”。我相信大家都已经配置java环境变量,咱们来检查一下。

逐一核对 ”JAVA_HOME” “Path” “CLASSPATH”

(1)"JAVA_HOME",变量值是你的电脑JDK的安装路径,我的是"D:\java\tool\java1.8\JDK"

(2)"Path",在原变量值的最后面加上”;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”

(3)”CLASSPATH”,变量值”.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”

特别注意变量值开头是”.;”(点分号),这个地方需要特别注意,我就是因为这个点和分号不对报错的。

java源码修改后,需要把之前生成的class文件删除,从新运行javac和java命令。

环境变量修改后,一定要重启cmd命令行窗口,再把把之前生成的class文件删掉,重新运行javac和java命令。

注:若在输入javac命令时,显示'javac'不是内部或外部命令,原因也是因为没有提前安装好JDK开发环境或环境变量配置有误。

五、作者推荐

cmd命令行运行java代码是最基础,而且都应该掌握的方式,特别是对于新人来说,应该最先接触学习。随着学习的深入,如果觉得记事本写java代码太low,作者推荐使用EditPlus,功能很强大的体积又很小的文本编辑软件,是收费软件,不过破解很简单,大家可以百度一下。然后大家会用到专业的IDE(Integrated Development Environment,集成开发环境)软件,如Eclipse(免费),MyEclipse(收费),IntelliJ IDEA(收费)等等,目前我只接触到以上列举的三款IDE,免费的推荐Eclipse,收费的推荐IntelliJ IDEA,收费软件网上都有破解方法,但是破解版不如免费版稳定,大家可以自行选择。

因时间仓促,作者水平有限,文中难免有不足之处,恳请大家批评指正。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot中的@DependsOn注解详解

    SpringBoot中的@DependsOn注解详解

    这篇文章主要介绍了SpringBoot中的@DependsOn注解详解,
    2023-08-08
  • 详解Java的线程状态

    详解Java的线程状态

    本文主要为大家详细介绍一下Java的线程状态,文中的示例代码讲解详细,对我们学习有一定的帮助,感兴趣的小伙伴可以跟随小编学习一下
    2022-11-11
  • Spring Boot定时任务的使用方法

    Spring Boot定时任务的使用方法

    这篇文章为大家详细主要介绍了Spring Boot定时任务的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • SpringBoot 上传文件判空以及格式检验流程

    SpringBoot 上传文件判空以及格式检验流程

    这篇文章主要介绍了SpringBoot 上传文件判空以及格式检验流程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Spring IOC容器使用详细讲解

    Spring IOC容器使用详细讲解

    IOC-Inversion of Control,即控制反转。它不是什么技术,而是一种设计思想。这篇文章将为大家介绍一下Spring控制反转IOC的原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-12-12
  • Freemarker常用指令使用示例

    Freemarker常用指令使用示例

    这篇文章主要介绍了Freemarker常用指令使用示例,步骤简单,大家参考使用吧
    2013-11-11
  • java线程池ThreadPoolExecutor的八种拒绝策略示例详解

    java线程池ThreadPoolExecutor的八种拒绝策略示例详解

    ThreadPoolExecutor是一个典型的缓存池化设计的产物,因为池子有大小,当池子体积不够承载时,就涉及到拒绝策略。JDK中已预设了 4 种线程池拒绝策略,下面结合场景详细聊聊这些策略的使用场景以及还能扩展哪些拒绝策略
    2021-11-11
  • 如何使用Spring Boot ApplicationRunner解析命令行中的参数

    如何使用Spring Boot ApplicationRunner解析命令行中的参数

    这篇文章主要介绍了使用Spring Boot ApplicationRunner解析命令行中的参数,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-12-12
  • Java如何利用return结束方法调用

    Java如何利用return结束方法调用

    这篇文章主要介绍了Java如何利用return结束方法调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • MyBatis-Plus联表查询以及分页代码实例

    MyBatis-Plus联表查询以及分页代码实例

    在开发中遇到了一个问题,需要进行联表查询并进行分页,因为不想自己来写分页,所以还是依靠MybatisPlus来实现想要的功能,下面这篇文章主要给大家介绍了关于MyBatis-Plus联表查询以及分页的相关资料,需要的朋友可以参考下
    2023-06-06

最新评论