如何用命令行编译、运行第一个java程序(Hello World!)[通俗易懂]

如何用命令行编译、运行第一个java程序(Hello World!)[通俗易懂]一、什么是命令行(Windows下)?     命令行(CommandProcessor)(CMD)是在OS/2,WindowsCE与WindowsNT平台为基础的操作系统(包括Windows2000,WindowsXP,WindowsVista,WindowsServer2003,Windows7,Windows8,Windows8.1,Window

大家好,又见面了,我是你们的朋友全栈君。

一、什么是命令行(Windows下)?

        命令行(Command Processor)(CMD)是在以OS / 2 、 Windows CE与Windows NT平台为基础的操作系统(包括Windows 2000,Windows XP,Windows Vista,Windows Server 2003,Windows 7, Windows 8 ,Windows 8.1 ,Windows 10)下的“MS-DOS 方式”,即“微软操作系统中内置的模仿DOS操作系统的程序”——我们看到的命令提示符窗口便是。而命令提示符是一种工作提示符,提示进行命令输入。例如,
“C:>”这种提示的方式。
       DOS是1979年由微软公司为IBM个人电脑开发的MS-DOS,它是一个单用户单任务的操作系统。后来DOS的概念也包括了其它公司生产的与MS-DOS兼容的系统,如PC-DOS、DR-DOS, 以及一些其它相对不太出名的DOS兼容产品。它们在1985年到1995年及其后的一段时间内占据操作系统的统治地位。
        在电脑发展的初期,人与电脑的交互没有现在这样的图形界面,而是命令提示符界面。即你在这个界面中输入命令,计算机就会执行。比如,你输入dir按回车后就会显示目录及文件。执行可执行文件也要直接输入文件名。Windows操作系统中,按下windows +R,将弹出运行命令的快捷访问方式(windows是指windows键)。在运行对话框中输入cmd后点确定即运行“命令提示符”窗口。

二、目录、子目录与盘符(D——directory 目录)(windows不区分大小写,Linux严格区分。)

        在DOS中,有个当前目录的概念,就是提示符所显示的目录。如果现在的提示符是C:\,那么当前目录就是C盘的根目录。
        文件目录(或称为文件夹)是由文件目录项组成的。文件目录分为一级目录、二级目录和多级目录。多级目录结构也称为树形结构,在多级目录结构中,每一个磁盘有一个根目录,在根目录中可以包含若干子目录和文件,在子目录中不但可以包含文件,而且还可以包含下一级子目录,这样类推下去就构成了多级目录结构。
        我们用CD命令来改变
当前目录,输入“CD DOS”,那么当前目录就变成了 “DOS”。
改变当前目录为一个子目录叫做进入该子目录。进入了DOS目录后,再输入“CD TEMP”,那么我们又会进入TEMP目录了。如何退出TEMP目录呢? 现在这里只要键入“CD ..”,回车,我们就可以回到DOS目录了。
        在DOS中,这个两点就表示当前目录的
上一层目录,一个点表示
当前目录,有时,我们叫上一级目录为父目录。当前目录为DOS目录, 再输入“CD ..”,然后回车,我们就回到了C盘的根目录。 进入一个目录的子目录并不需要用CD命令一层一层进入,可以用一行命令完成,比如要进入 WINDOWS目录下的SYSTEM子目录,只要输入“CD WINDOWS\SYSTEM”就可以了,也可以输入“CD C:\WINDOWS\SYSTEM”。
        如果要回到根目录,那么也不必多次输入“CD ..”来完成, 可以直接输入“CD \”,“\”就表示根目录。
        紧接着“C:”后面的
“\”告诉我们,当前的工作目录是根目录。这个
“>”的作用只是为了把工作目录和我们要输入的命令分隔开来,这样就可以从提示符上看出当前的工作盘和工作目录是什么。
        更换当前目录到硬盘的其它分区该怎么办?
        不是使用CD,这时应该输入盘符然后回车。比如要到D盘,那么就输入“D:”,然后回车,提示符就变成“D:\>”了。 这时用dir命令,就可以列出D盘的文件了。
        实际上,要完整地表达一个子目录应该是盘符加目录,比如C: \DOS\TEMP,那么完整地表达可执行文件呢?就是
盘符加目录加文件名,比如C:\DOS\TEMP\ME.TXT,C:\DOS\TEMP\就叫做ME.TXT的路径,*此时当前目录为TEMP*。
        输入可执行文件名时,DOS会在当前目录中寻找该文件,如果找不到,会提示错误的文件名,但是我们
不是一定要把当前目录更换到文件所在的目录才能运行它的,可以在文件名前加上完整的路径就可以了,比如我们现在的当前目录是C:\DOS,我们要
运行D:\TEST\PCT.EXE,那么我们可以直接输入D:\TEST\PCT.EXE回车,这样我们不改变当前目录就可以执行其它目录下的文件(这里不用到CD命令)。
常见的命令行命令:

dir:列出当前目录下的文件或文件夹。 md:创建目录(即文件夹)或文件,e.g.”c:\>md 01.txt”.

del:删除文件。 e.g. “del 01.txt”,”del *.txt”——删除当前目录下所有的”.txt”文件。

rd:删除目录。(必须保证被删除文件夹下没有任何文件或文件夹。) e.g. 删除”c:”的子目录op,”c:\>del op”——删除所有文件,”rd op”——删除目录.

三、编译、运行Java

        在记事本新建好一个文本文件,编辑好Java文件,保存为HelloWorld.java,即Java程序的源程序生成。接下来就可以用javac命令来编译该Java源程序生成字节码,用java命令来运行程序。但在这之前要设置好PATH 环境变量。



JDK 的安装最好是安装在根目录下,JDK安装目录下有许多文件,如“bin”文件夹下存放了JDK的各种工具,其中就有javac.exe(编译器),java.exe(java解释器)。设置path环境变量就是为了找到java编译器;classpath——类的路径,即编译好的字节码文件所在的路径,JDK1.5以上版本默认在“当前路径”下寻找,所以1.5以上版本不用配置classpath环境变量了,除非这个”.class”文件不在当前目录下。


如果用javac命令编译好的“字节码文件”不在当前目录下,可以用“set classpath= (字节码文件所在路径)”,如“set classpath=  . ;c:\myclass\01”,表示要找对应的“.class”文件去当前目录下或“C:\myclass\01”下寻找。但这个做法是一次性的,即关闭了命令行窗口就恢复原状,但可用”start”命令打开新命令行窗口,而这时classpath临时设置 仍然有效。同理,“set path= (javac.exe所在的文件路径)”。


一劳永逸设置环境变量的做法是,“我的电脑》属性》高级系统设置》高级——环境变量》系统变量——编辑”,“   ;”是用来隔开各个环境变量的,把
“javac.exe所在的文件路径”添加在后面就行了。如果”java编译器”位置经常变动,可以选择“我的电脑》属性》高级系统设置》高级——环境变量》系统变量——新建”,新建的变量名可以是“java_home”,值为“
变动的bin文件夹所在的文件路径”,再执行‘编辑’,把添加的环境变量书写为“%java_home%
\bin”。同理可设置“classpath”环境变量。

用户变量与系统变量的区别,用户变量是当前用户使用,你用其它用户登陆,这个环境变量就不起作用了(私有)。而系统变量,是对所有用户都可使用的(公有)。

       
在命令行窗口进入HelloWorld.java 文件所在路径。输入,javac -d . HelloWorld.java(命令的格式:javac -d destdir HelloWorld.java,destdir 一个有效的路径。)一般生成的字节码文件都是跟源文件放在一起,所以是放在当前目录下。运行成功,在该路径下,生成一个HelloWorld.class文件。
        运行Java程序用java命令。启动命令行窗口,进入HelloWorld.class所在位置。输入,java HelloWorld (命令的格式:java java类名)。因大 部分时候,java类名同 java(无扩展名的)主文件名。Java是严作格区分大小写的,所以千万要
区分好类名的大小写。用exit命令关闭命令行程序。


如何用命令行编译、运行第一个java程序(Hello World!)[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156885.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • c++ stringstream ss()[通俗易懂]

    c++ stringstream ss()[通俗易懂]定义了三个类:istringstream、ostringstream和stringstream,分别用来进行流的输入、输出和输入输出操作。本文以stringstream为主,介绍流的输入和输出操作。主要用来进行数据类型转换,由于使用string对象来代替字符数组(snprintf方式),就避免缓冲区溢出的危险;而且,因为传入参数和目标对象的类型会被自动推导出来,所以不存在错误的格式化符的问题。简单说,相比c库的数据类型转换而言,更加安全、自动和直接。一、从string对象str中读.

  • VB学习记录[通俗易懂]

    VB学习记录[通俗易懂]一、什么是VBVB程序设计是要干什么?1.添加、设置对象;2.对对象添加功能。编程的基本要素-对象object-类class-属性property-方法method-事件event事件过程的一般格式:privatesub对象名称_事件名称()……事件响应程序代码……En…

  • 查看ubuntu版本号

    查看ubuntu版本号

  • Highways「建议收藏」

    Highways「建议收藏」HighwaysTimeLimit:1000MS MemoryLimit:10000KTotalSubmissions:14613 Accepted:4211 SpecialJudgeDescriptionTheislandnationofFlatopiaisperfectlyflat.

  • ScheduledExecutorService 接口[通俗易懂]

    ScheduledExecutorService 接口[通俗易懂]newScheduledThreadPool()或者newSingleThreadScheduled-Executor()方法:延迟执行、周期性执行的执行器如果想在某一段时间之后执行线程操作,或者周期性地重复执行线程操作,则可以使用工厂类Executors的newScheduledThreadPool()方法或者newSingleThreadSche…

  • 程序员泪崩_程序员生活现状

    程序员泪崩_程序员生活现状

    2022年10月11日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号