【Java软件工程师从0到1】- Dos窗口运行Java程序

文章目录

一 - 前言

二 - Dos上运行Java命令

 1 - 环境变量的本质

2 - Java中的可执行文件

3 - 运行Java程序的流程

4 - 运行Java程序

 5 - 代码解释

6 - 运行本质

7 - 配置CLASSPATH

8 - javadoc命令

三 - 结尾


一 - 前言

介绍:大家好啊,我是不良战士

社区:(欢迎大家加入)日常打卡、学习交流、资源共享的知识星球

更新时间:每周两更。

在本文中,我们将编写第一行Java代码并在DOS窗口运行出结果,正式跨入Java领域的大门!

本文讲解内容有:

  • 使用java命令编译并运行java代码
  • 解释java程序的写法规范
  • 讲解java的运行过程中内部做了哪些事情
  • 如何配置CLASSPATH让java代码随处运行
  • 如何使用javadoc生成帮助文档

那就进入正题吧!


二 - Dos上运行Java命令

 1 - 环境变量的本质

还记得上一节我们配置的环境变量吗?需要把java的根目录和bin目录放进去,那它的作用是什么呢?

是用来快速的定位某些东西的,比如之前我们使用的dos命令,他们都是放在某些文件夹里的exe格式的文件,如果我们正常想使用一个文件,当然是需要先找到它的位置才能使用。配置环境变量就是为了达到这个目的。 

当然,如果我们不配置的话,在那个文件里的路径下打开cmd窗口,也可以执行,比如我在阿里云盘的目录下查看案例云盘的版本。

而若是不在它的目录下,就会出现如下提示。

2 - Java中的可执行文件

我们打开JDK安装目录下的bin目录,会看到很多可执行文件,这些几乎都是可以在cmd窗口中可执行的java命令。

3 - 运行Java程序的流程

学过C的小伙伴都知道,C语言中是把.c文件编译链接后直接形成一个可执行文件(exe)来运行,而Java的运行有所不同

还记得上一篇介绍的JDK、JRE、JVM吗,Java代码的执行过程就是:

先把Java源文件(.java)编译成class文件(字节码文件),然后把class文件放在JRE上运行。

4 - 运行Java程序

我们先编写这样的代码,然后将文件存为.java格式(类名要和文件名一致)

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

这是一个打印hello wrold的简单程序,我们还可以打印其他的内容。(一会就会解释这个代码的内容)

我们在java代码所在目录下使用javac命令编译java代码,(javac.exe本质是java编译器)此时会在目录下形成一个.class文件,这就是编译形成的字节码文件。

 

编译后,我们使用java命令执行字节码文件。(此时不加.class文件后缀)

 最后再说一件事,如果你的JDK版本足够高,你的java命令可以自动完成编译的步骤。

 5 - 代码解释

解释上面我们执行的代码:

  • public static void main(String[] args)就是一个主函数,代表着这个程序的入口。在执行一个程序时必须有一个合理的入口才能正确的执行程序。而Java也与其他语言不一样,程序的入口必须写在类中。

  • System.out代表一个标准输出流对象用来将数据传输到外部,比如打印机、外存中的文件,在这里它默认将传输目标定向到了我们的控制台中,所以才会把数据打印到我们的控制台界面,而关于它具体的细节以后会在io流中详细介绍。

  • 这里是调用了它的println方法,将数据打印到控制台并换行,如果想不换行只需要调用它的print方法。

我们为什么能直接使用System.out?

java中自动帮我们导入了基础的开发包,比如这个System就是在java.lang包下的,被自动导入了进来。

6 - 运行本质

java Test这个命令执行过程中到底发生了什么

  1. 会先启动JVM虚拟机。
  2. 然后JVM启动一个叫“类加载器”的东西(以后讲),类加载器负责去硬盘中把对应的字节码文件加载到内存。
  3. 然后通过字节码校验器去校验这个字节码文件,验证通过后它会被交给解释器。
  4. 解释器将其解释成计算机能直接识别的机器指令再执行。

7 - 配置CLASSPATH

我们上面的操作是必须在java文件对应包下才能执行,那么如果我们想把他写在别的地方,并且不需要把cmd定位到那个目录下就能执行我们的java程序呢?

我们按照之前配置环境变量的步骤,配置一个名为CLASSPATH的环境变量

里面写上.与我们想直接存放java字节码文件的位置。

注意:在dos命令一章讲过.代表我们的当前路径

如果只显示能配置单行,使用;分号分隔多个路径。

执行结果:

还需要注意:这个存放的目录下必须放字节码文件才能在外部直接执行,外部无法对.java源文件编译后再执行。

同理,也就不支持java直接对源文件编译再执行,以及javac对源文件的编译操作了。

8 - javadoc命令

我们还可以使用javadoc命令对我们的java代码生成帮助文档。

命令javadoc -d testDoc Test.java,使用-d来表示它生成到哪个目录。(目录不存在会生成)

生成完成后,我们打开对应目录的index.html就可以查看帮助文档了!

 我们还可以对类或方法使用特殊的注解让帮助文档也能生成作者、代码版本号等信息。

/**
*@version 1.5

*@author lixuanchen

*@since 1.0

*/
public class Test {
    public static void main(String[] args) {
        System.out.println("hello world!");
    }
}


三 - 结尾

感谢你看到这里,如果感觉内容不错的话请点赞支持一下!

如果小伙伴对我的讲解有疑问,欢迎评论区讨论。

  • 40
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 31
    评论
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hitzaki辰

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值