Java环境变量的配置以及为什么?

首先我们先装好JDK。(为测试,我先将我电脑上的path变量里和java有关的内容,以及JAVA_HOME变量全部删除。),此时没有配置环境变量。然后再dos里面,运行结果如下。如图1

然后我们编写了一个HelloWorld程序它的名字叫_01HelloWorld.java,他处在我电脑的E盘之中,我在dos命令下进入到这个程序所在的目录下,运行javac命令,发现失败,如图2

在我电脑上和JAVA有关的东西都放在E盘里,JDK也是。然后我再进入我电脑里面JDK目录下的bin文件夹里,现在我们把这个HelloWorld程序源代码,也放在这个jdk目录下的bin文件夹里。在此处,我尝试用javac命令来编译这个  HelloWorld程序(即此处的_01HelloWorld.java)。结果如图3 。

我们发现成功了,而且在之前源代码文件_01HelloWorld.java上面多了一个文件_01HelloWorld.class。然后我们在用java命令,运行这个.class文件。 如图4所示。

这里有几个注意点。

1 :就是图上所说,如果我们的源代码里有包名,我们javac出来.class字节码文件,然后在java 命令这个字节码文件,就会报错:找不到或者无法加载主类,我们的代码并没有错,只是java里一个完整的类名,应该是包名加类名,我们在这里直接 java命令 字节码文件,其实虚拟机是找不到这个类的。因为不是完整类名。所以为了方便,在运行javac和java命令之前。我们在源代码里面将第一行的包名去掉。 然后我们就想,为什么在这个jdk的bin目录下编译运行就可以而别的目录不能呢?原因就是这个bin目录下其实放着编译器和工具。看看文件夹里的东西,你会发现javac.exe 和java.exe。 我们在dos所运行的javac和java 其实就是这2个文件在起作用。 

2:  我们用javac.exe 即 javac 源代码文件,编译源代码时,要指明源代码的名字,所以要写上后面的.java扩展名。而 java.exe 即java  字节码文件时候,是因为要解释编译好的字节码文件,所以我们这里只要直接写上文件名就可以了,不要带任何扩展名。比如说.class。 

说到这里,我们成功的运行了我们的HelloWorld程序,可是这也未免太麻烦了,我们必须在dos得进入jdk目录下的bin,再把源代码文件放到这里,才可以一步步的慢慢运行。我们现在想在任意路径下运行javac 和java这2个程序,怎么办呢?这就是我们要配置环境变量的目的,可以方便的直接打开dos,javac和java运行 java代码,而不是必须得进入相关目录下。

鼠标右键 我的电脑 , 属性,高级系统设置,高级,环境变量。我们会发现有2个框框,一个是用户变量,一个是系统变量。这2个框框,无论在哪个地方配置环境变量都是可以的,一般来说,我们的电脑只有我们一个人用,所以可以在用户变量,上面的框框里面配置。要是一个电脑的用户有多个,我们就可以在系统变量里面配置,这样,对所有用户都有效。我个人建议放在下面。

环境变量我们配置2个,一个是JAVA_HOME,一个是Path。 

JAVA_HOME 我们需要创建这个变量,创建好后,它的值,是指向JDK目录的路径。

Path变量,我们的电脑都会有,如果是win7的话path变量是一起堆在一行的,我们直接在行末加上 分号,和前面的值区分开,然后再指向 JDK目录下的bin目录。win10的话另起一行添加就OK了。我配置完成我的如图5 。请仔细看图上的2个变量的值。

细心看,其实 path里面我们配置的变量,是JAVA_HOME下的bin,所以我们path 变量也可以这么写:。

 ; %JAVA_HOME% \bin 和我们上图直接指向 bin 是一样的效果。 

配置完成,如何检验是否配置成功? 很简单,我们按  Win + R ,或者开始菜单,运行 ,在里面输入cmd,进入dos。首先输入javac 会发现出来很多与JAVA相关的命令, 然后再输入 java  -version  。如果出来jdk的版本号,证明就已经配置成功了。如图6.

现在我们配置好了环境变量,就要检查它的功能了。我们将之前的在E盘的_01HelloWorld.class文件删除 ,_01HelloWorld.java我们直接剪切到D盘目录下。在这里我们就不截图了。然后我们现在在进入dos。切换目录到D盘,运行javac 和java 命令 ,发现成功了。如图。

我们的javac.exe和java.exe是在E盘的,如前面的图,可是我们现在在D盘,也可以运行这些命令了,而且没有报错。这便是 我们配置环境变量的目的,在任意路径下都能运行  javac 和 java 。

提示: 

        编译 :即代表着我们用javac 命令,将 源代码文件,即XXX.java   编译成  另一个jvm认识的文件, XXX.class 。(这个叫字节码文件。)

         运行: 即 我们的java 命令,  虚拟机运行的是它所能认识的 XXX.class文件,而不是源代码!

   

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值