有一些C++基础的同学们如何喝下你的第二杯咖啡?

来源:互联网 发布:知进退明得失是谁说的 编辑:程序博客网 时间:2024/05/17 04:50

本篇是对第一杯咖啡(JAVA)的续杯。同样是面向上过课,但并没有丰富的C++实践经验的同学们,今天的主要内容就是把命令行深入一些,为自学Thinking in Java掌握Javac和java、javadoc等基本jdk工具的使用打下一个良好的基础。

首先,同学们在昨天实验的时候,发现了一个问题,就是有的时候jdk安装不成功,有没有安装成功,有一个很容易判断的特征,就是安装目录下的能不能找到一个文件夹,名字是bin的,然后再在bin文件夹下面找有没有javac.exe文件,如果有的话,一定就是安装成功了!

其次,还有一些同学们的命令行不能输入中文,可能你又把jdk安装到了一个中文名字的目录,怎么办呢?不要着急,到网上下载一个搜狗输入法装上就可以了。

接着,我们就进入今天的正题:

昨天我们知道了怎样在jdk的安装文件夹中用其中的javax.exe编译器和java.exe解释器,但是这样还是很麻烦的,因为每次都要进入到jdk的安装文件夹中才能运行,昨天的例子是在C:/Program Files/java/jdk1.6.0_18/bin。

其实,只要我们弄清路径的概念,是不需要这么麻烦的,所谓路径,就是系统如何能够找到这个文件,一个电脑里面有好几十万个文件,文件又是分目录来存放的,所以,所以我们全盘搜索寻找某个文件的话,要一层一层地遍历文件夹,是很慢的,所以机器不会帮你做,但它也不是完全不帮你找,默认的时候——它只是帮你在当前目录下面找。

既然我们已经“cd C:/Program Files/java/jdk1.6.0_18/bin”了,那个bin目录就是当前目录,所以能找到它下面的javac.exe和java.exe。

你可能忍不住问了,为什么我要进去,我不希望总是在C盘下面工作,我不能直接告诉它bin目录在哪里,让它找到javac吗?

的确可以,这种寻找方法称为按指定的路径寻找文件!现在,我们打开命令行,在昨天熟悉过的提示符“>”后面输入:

javac

回车

发现提示:“‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件。”这个表示命令行没有找到javac.exe文件。内部或外部命令就是指dir,cd等命令,能找到的.exe文件就是可运行的程序,而.bat文件(现在比较少见)就是批处理文件了。

然后再在提示符“>”后面输入:

C:/Program Files/java/jdk1.6.0_18/bin/javac

回车

看到没有?出现了一大串信息,这是关于javac的帮助信息。也就是说,系统找到javac.exe文件啦!怎么找到的呢?因为你给出了完整的路径信息!这个,我们就称为绝对路径,只要给出了绝对路径,任何一个文件都可以被找到!

绝对路径的“绝对”两个字,来源于它给出了全部信息,从盘符(C:、D:)开始,用“/”符号隔开文件夹,上面一共经过了“Program Files”、“java”、“jdk1.6.0_18”、“bin”四层文件夹,才找到了javac.exe文件,所以上面javac后面不需要有“/”符号了,而且,命令行能够自动给你加上“.exe”,所以,就不用自己加了,如果你要加,也是可以的。

这里有一个小技巧要插入进来,你试着按一下键盘上的“向上”方向键(四个常用方向键中的一个),你会发现,刚才输入的那一长串“C:/Program Files/java/jdk1.6.0_18/bin/javac”又出来了,这是命令行界面做的一件事情,它会为你记住你先前给它说了什么,然后通过按“向上”或“向下”来帮你快捷输入它们。

我们试一试在后面加上“.exe”:

C:/Program Files/java/jdk1.6.0_18/bin/javac.exe

回车

一样可以得到相同的一大堆信息!

但是为了简洁,我们一般就会只写“javac”了,这样看起来更像一个词,而不是一个文件的名字。

“/”是一个多义词,它有两个意义,一个意义是刚才说的分隔符,另一个意义是代表根目录,就是盘符下面直接的目录,为了弄清它,我们做一点事情:

现在还是不要关闭命令行,打开“我的电脑”,点击C盘图标,就打开了c盘,呵呵,你可以看见的一大堆文件夹和文件的图标,就代表C盘根目录下的文件了,其中有个文件夹的名字是“Program Files”,就是绝对路径的第一层目录,它的下面还会有java目录,就是第二层,等等,一直到bin目录下面就有javac.exe文件了。

切回到命令行,现在教一个非常实用的命令:“cd/”,就是直接回到根目录的命令,在命令行环境“>”提示符后输入:

c:

回车

cd/

回车

前面那个“C:”回车表示到C盘,昨天讲过,今天这个cd/,就代表根目录了,提示部分也变成了:

C:/>

下面,在提示符后敲入:

program files/java/jdk1.6.0_18/javac

回车

你也可以看到那一堆信息,说明也可以找到,为什么呢?因为当前目录是C盘的根目录,所以可以直接从当前目录找到program files目录,然后接着找下去,一直找到javac.exe,呵呵,这样就可以省下“c:”了,同样如果我们再“cd program files”,就可以直接写“java/jdk1.6.0_18/javac”回车了。

这种找到文件的方法,是从当前目录开始往下找一直找到的,我们就称之为相对路径了,一般的时候,我们都是通过“cd a”、“cd b”、“cd c”一直进入我们工作的目录,因为提示符前面的部分,就是当前目录的绝对路径,所以,也不会弄混的。

这样,我们现在已经有两种主要的办法使用javac.exe了,一种是像昨天一样地先一直进入到bin目录,然后直接用javc MyFirstClass来调用,一种是直接写绝对路径,不管你在那个目录,你都可以先把MyFirstClass.java文件拷贝到那里,然后就地编译执行啦!

我们输入“D:”回车转到D盘,输入“cd/”转到根目录,把MyFirstClass.java拷贝过去,如果忘记放哪里了就在昨天的第一杯咖啡里照着重新创建一个。然后在提示符“D:/>”后面输入:

C:/Program Files/java/jdk1.6.0_18/bin/javac MyFirstClass.java

回车

编译成功啦,你现在可以在D盘根目录看见新编译出来的MyFirstClass.class文件啦!然后输入:

C:/Program Files/java/jdk1.6.0_18/bin/java MyFirstClass

回车

来执行它。

现在,你终于自由了!不管在哪一个文件夹下,都可以编译执行你的MyFirstClass.java了,这杯咖啡在哪里都能泡,因为你有绝对路径可以确保找到javac.exe和java.exe了!

但是,你肯定还会不满意,因为不管你直接使用绝对路径还是进入bin目录然后直接javac,你每次使用前都必须记得javac.exe在哪里,可能现在你的确还能记得或者找到把jdk安装在了哪里,过几天忘记了怎么办呢?

所以,我们必须学会做快捷方式!我们必须把这个绝对路径记录在一个什么地方,然后系统每次都记得去找到它!这就是“path”环境变量,系统提供了一个这样的地方!现在,我们输入:

path

回车

你仔细看看,会发现这是一堆用“;”分隔开的绝对路径,这就是命令行环境所有会自动帮你搜索文件的路径了!在命令行中,用%path%来代表这个变量,用set来设置它,所以,要结合起来用,下面请输入:

set path=C:/Program Files/java/jdk1.6.0_18/bin;%path%

回车

这样就已经重新设置path啦!现在输入“path”并回车,就可以看见我们的bin目录已经在path的最前面啦!也就是说,它会是除了当前目录以外第一个被搜查到的!

下面,在刚才的提示符“D:/>”输入

javac MyFirstClass.java

回车

呵呵,再输入:

java MyFirstClass

回车

又看到了“Oh! My first coffee!”

这样的话,每次我们只需要最初设置一下path变量,就可以在任何一个文件夹下面用这种简洁的方式编译执行啦!这就是快捷方式的含义!

不够,在命令行中设置“set path=”的方式有一个缺点,就是只在这一个命令行界面里面有效,下面,从“开始”->“运行”->“cmd”回车,可以打开另一个新的命令行界面,在这个新的命令行界面输入“path”回车,你会发现C:/Program Files/java/jdk1.6.0_18/bin没有在path的最前面,所以,这意味着,每一次你开一个新的命令行界面,你要做的第一件事情,必须是设置path。

这样实际上还是需要你记住jdk安装的路径。原因呢,是因为靠set path设置的路径只能是临时的,我们必须在“我的电脑”上,才能设置一个永久的“path”。

在“我的电脑”上点击右键,在弹出的快捷菜单上点击“属性”,它是最下面的一个哦!然后看到出现一个框,框里最明显是两个图片,不过,我们要找的不是图片,那上面有一些选项卡,呵呵,初学者常常直接看到中间部分去了,就找不到选项卡,选项卡是在上面一半,我们点击“高级”选项卡,就会发现一个新界面,三个挺明显的按钮都写着“设置”两个字,这就是系统各方面的设置了,而我们要的并不是点“设置”按钮,而是下面的“环境变量”和“错误报告”两个按钮中的一个!对了,是“环境变量”!

点开“环境变量”,就会弹出来一个新框,上下两部分差不多,是什么呢?那就是操作系统所有的、包括“Path”变量在内的——环境变量的设置啦!上面的称为用户变量,下面的称为系统变量,其实对我们也没有什么差别了,因为我们一般一台电脑就是一个人用。

也许有人会问了,为什么Windows要把环境变量设置放在这么隐秘的地方呢?这是因为Windows希望大家尽可能忘记命令行,因为没有它是Windows当初最大的卖点,在它以前,所有的操作系统都是用命令行和用户交互的,因为那已经是90年代初的事情了,那时候电脑都是给专业人士用的……现在我们要学习编程了,也成为专业人士了,所以也要学着用哦!毕竟,锻炼这个综合素质是非常重要的!

虽然这里可以分别设置用户变量和系统变量,但是我们一般都是只设置系统变量,后者看起来影响范围更广。在系统变量的列表右边有一个下拉条,我们就是用这个下拉条来找到Path变量的,一般我们只会常用Path变量,所以其他的不用管它们,找到之后点一下,使它变成蓝色的一整条,这就是选中了,然后,点击“编辑”按钮。

如果没有找到Path变量的话,就要点击“新建”按钮啦!不管点击的是哪个,会出来的都是一个“编辑系统变量”对话框,上面有变量名和变量值两行,如果是新建的话,就在变量名和变量值上分别填上“Path”和bin文件夹的绝对路径,即一直到你的安装路径下面的bin文件夹,有可能是:

“C:/Program Files/java/jdk1.6.0_18/jdk/bin”

或者类似的,可能和你的不一样,具体要看你昨天把jdk安装到哪里了。如果你希望直接在命令行界面里输入“notepad”回车就能出来记事本的话,就需要把“C:/Windows/system32”也纳入“Path”变量,就可以写成:

“C:/Program Files/java/jdk1.6.0_18/jdk/bin;C:/Windows/system32”

如果是点的“编辑”的话,变量值中的内容已经被蓝色高亮选中啦!这个编辑框设计得不太好,不易直接编辑,所以,我们直接在键盘上按“Ctrl+C”把它选中,然后,不要关闭它,新启动一个记事本,把它拷贝进去。接着,把我们的安装目录中的bin文件的完整路径抄写在它的前面,后面加上一个分号“;”区分,注意,必须是英文的分号哦!然后,我们在记事本上用“Ctrl+A”全选,“Ctrl+C”复制,切回到刚才的“编辑系统变量”对话框,在“变量值”那一行用“Ctrl+V”粘贴,然后点“确定”,就回到了刚才的“环境变量”对话框,然后再点“确定”,环境变量就设置好啦!

现在重新打开命令行环境(复习一下,两种方式:“开始”->“运行”->“cmd”->回车或“开始”->“所有程序”或“程序”->“附件”->“命令提示符”),然后进入D盘,输入:

notepad MyFirstClass.java

回车

你就会打开一个记事本了,然后就自由实验一下javacjava命令,享受一下成就感吧!

说了这么久,我们才真正开始可以运行程序了,下面,你要做的,就是仔细阅读Thinking in Java英文版课本的“Everything is an object”那一章吧!如果还需要下载TIJ的课本和源代码的话,就在http://mindview.net/Books/TIJ4 !等你一边看,我们就会继续给你续杯,照着书上给你总结、辅助你轻松快乐地阅读掌握JAVA基本概念,强化编程练习(这个非常重要,书上的每个练习一定都要做,如果做不出来就拿出来向我反馈,我们一起来讨论各种解决方案的优劣!),并在一开始就养成良好的编程习惯啦!

原创粉丝点击