对于Java初学者,建议使用纯文本文件来编写Java程序,并在命令符模式下使用工具程序编译和执行Java程序。使用javac工具编译.java,使用java工具执行.class。(推荐sublime编辑器)。

怎么在命令符模式下编译并执行Java程序?弄了好久查了不少资料终于解决。记录下来,便于总结、分享、查阅。

首先根据自己计算机的操作系统下载和安装sun公司的JDK,http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html。安装过程中会提示安装JRE,注意将JDK和JRE放置在两个文件夹中。我的目录:D:\hsl\JAVA\JDK和D:\hsl\JAVA\JRE。

公用JRE主要是为开发好的Java程序提供执行的平台。JDK本身也有自己的JRE,位于JDK安装目录的jre目录下。我的目录:D:\hsl\JAVA\JDK\jre。JDK本身所附的JRE主要是开发Java程序时做测试用。初学者只要知道有两种不同的VM即可。

安装完JDK后,设置path和classpath。(如果使用IDE工具Eclipse,直接打开Eclipse就可使用,不用设置环境变量)

先说一下我的JDK路径和.java和.class路径。JDK安装路径位于D:\hsl\JAVA\JDK,.java和.class路径位于C:\java。

环境变量配置:

PATH=.;%JAVA_HOME%\bin;
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
JAVA_HOME=D:\hsl\JAVA\JDK

下面具体讲解环境变量配置(均输入双引号里面的内容):

右键我的电脑,打开属性。选择“高级—环境变量”。需要设置三个属性“JAVA_HOME”、“path”、“classpath”,在没安装过jdk的环境下,path通常已存在(安装过其它软件会自动增加,比如matlab,Python),JAVA_HOME和classpath不存在。

1、新建变量JAVA_HOME,该变量的内容是java的安装路径。

目的:方便引用,比如JDK安装在D:\hsl\JAVA\JDK目录,则设置D:\hsl\JAVA\JDK为该环境变量值。以后要使用这个路径时,只需输入%JAVA_HOME%即可,避免每次引用都输入很长的路径串。当JDK路径被迫改变的时候,仅需更改JAVA_HOME的变量值即可,否则要更改任何用绝对路径引用JDK目录的文档。第三方软件会引用约定好的JAVA_HOME变量,不然你将不能正常使用该软件。用JAVA久了就会知道,要是某个软件不能正常使用,可能由此引起。

2、在系统变量里面找到path(没有就新建),该变量的含义是系统在任何路径下都可识别java命令,变量值为“.;%JAVA_HOME%\bin;”(刚才设置JAVA_HOME的值),也可以直接写上安装路径“D:\hsl\JAVA\JDK\bin;”。

目的:这个变量设置为了程序能找到相应的".class"文件。举个例子:你编译一个JAVA程序A.java,会得到一个A.class的类文件,在当前目录下执行javaA,将会得到相应的结果(前提是你已经设置CLASSPATH为".")。现在,你把A.class移到别的目录下(例如:"D:\"),执行javaA,将会找不到.class文件。现在你把CLASSPATH增加为:".;e:\",再在任何目录下运行javaA,一切正常,java命令通过CLASSPATH找到了.class文件。

3、新建变量classpath,该变量的含义是为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。其值为“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar;"(加.表示当前路径),与“%JAVA_HOME%"有相同意思。

目的:你想在任何时候都使用%JAVA_HOME%\bin\java等来执行java命令吗?当然不会。那可以选择把%JAVA_HOME%\bin添加到PATH路径下,这样,我们在任何路径下就可以仅用java来执行命令了(当你在命令提示符窗口输入代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序,并且执行)。

以上三个环境变量设置完毕,确定。

验证看看安装和配置是否成功。打开cmd进入dos系统界面。分别输入java,javac,java–version进行验证。

在cmd输入“java”

输入javac

输入java-version(该命令查看jdk版本,java后要空格再加–version)

配置好了,下面进行代码测试。

在C盘创建一个java的文件夹(为什么是C盘呢?我就是因为之前在D盘创建,一直无法运行.class,浪费了很多时间,虽然原因已找到了,但为了方便还是放在C盘吧,反正代码占的内存很小)。新建txt,输入代码,另存为HelloWorld.java。代码:

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

);
}
}

在cmd输入命令,运行成功,如图:

cd c:\java:进入存放.java和.class的目录

javac HelloWorld.java:用javac工具程序编译.java

java HelloWorld:用java工具程序执行.class。

tips:(与上文没有关系)

1、ctrl+v在cmd下不起作用,但可鼠标右键选择粘贴。

2、打开cmd,默认在c盘目录下,若要切换到其它盘目录,只输入cd D:\hsl\JAVA\javaclasspath是无效的,要先输入D:,再输入cd D:\hsl\JAVA\javaclasspath可进入D盘相应目录。

3、也可不设置环境变量,直接在cmd输入

Set Path=D:\hsl\JAVA\JDK\bin;%Path%
set CLASSPATH=%CLASSPATH%;D:\hsl\JAVA\javaclasspath

但每次打开cmd都要粘贴相同命令。我试过,只课编译不能运行,没有找到原因。大家可以试试:)

4、等价命令

D:
cd D:\hsl\JAVA\javaclasspath
javacHelloJava.java

等价于

D:
javac D:\hsl\JAVA\javaclasspath\HelloJava.java

Reference:

[1] http://blog.csdn.net/yougou_sully/article/details/7182877

[2] Java jdk6 学习笔记

最新文章

  1. Mybatis对MySQL中BLOB字段的读取
  2. [原创]Net实现Excel导入导出到数据库(附源码)
  3. oracle 常用视图和表
  4. networkcommon v3开源消息框架资料
  5. wifi reaver
  6. TCP建立连接和释放的过程,及TCP状态变迁图
  7. winform实现自动更新并动态调用form实现
  8. Ubuntu下用SecureCRT连接串口/dev/ttyUSB0权限修复
  9. 统计难题 HDOJ --1251
  10. SQL 插入查询的最大ID 号 进行批量
  11. c语言验证哥德巴赫猜想(从4开始 一个偶数由两个质数之和)
  12. HDU 4597 Play Game 2013 ACM-ICPC吉林通化全国邀请赛H题
  13. php 语言特点
  14. 百度地图与融云的“冲突”(APP的.so手机架构目录,与Library的.so的手机架构目录冲突)
  15. 2-用EasyNetQ连接RabbitMQ(黄亮翻译)
  16. Android Studio基本配置
  17. IDEA 2018.2.5最新版破解到2100年图解教程
  18. Python 命令模式和交互模式
  19. NOIP2011普及组 数字反转
  20. JS获取当前时间和日期

热门文章

  1. PostgreSQL 10.0 preview 功能增强
  2. What are Windows ACLs and why are they important?
  3. linux基础学习8
  4. 动态设置表格[GridView]在编辑时 只读。
  5. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
  6. C#读取资源文件的两种方法及保存资源文件到本地
  7. MongoDB基本文件操作
  8. java查看工具jmap-windows
  9. [Android]egit取消文件版本号控制
  10. js函数的Json写法