这篇文档将向你介绍如何在Windows系统上安装本书将用到的Java开发环境,同时我们也提供了一个手把手的、使用我们提供的DrJava工具或者用命令行来创建、编译和运行你的第一个Java程序的手册,这个过程中用到的所有软件都可以自由下载

本操作指南适用于32位和64位的Windows 8、Windows 7、Vista SP1和XP SP3

——————

0. 安装开发环境

——————

我们提供的安装器将会自动下载、安装和配置你将用到的所有开发环境,包括Java SE 7、DrJava、教材库和命令行工具

  • 在电脑上登陆以后你会用来写代码的那个Windows账户,这个账户必须具有管理员权限(Administrator)且电脑必须连接到网络。『译者注:以我的经验,你最好还有一个全局翻墙工具,VPN或者Shadowsocks,不然很有可能下载失败』

  • 下载algs4.exe并双击进行安装,如果在安装开始前你收到一个用户账户控制的警告,点击「是」或者「允许」,如果在安装结束后你收到一个程序兼容性警告,点击「该程序已正确安装」

  • 如果安装成功,你将看到如下两个信息:

    • 一个内容这个运行日志的命令行窗口
    • 一个内容为蓝色靶心和教科书的标准绘图窗口

    需要注意的是:如果你的网络连接较慢的话,安装程序需要持续几分钟甚至更长时间

  • 删掉「algs4.exe」

——————

1. 在DrJava中创建程序

——————

现在你已经为你的第一个Java程序做好了准备,你将在一个叫DrJava的程序中开发你的Java程序。DrJava包含了语法高亮、匹配括号、自动缩进和显示行号等特性。

  • 在上一节中的安装包已经在桌面上创建了DrJava的快捷方式『译者注:如果不慎删掉,还可以在如下目录中找到该程序:C:\Users\Username\algs4』。双击以启动DrJava,如果你收到一个Windows安装警告,点击「允许运行」或者「不禁止」

  • 在DrJava的主窗体中,请向下面一样准确无误得输入HelloWorld.java中的代码,哪怕你只是漏掉了一个分号,这个程序也不会运行,在你输入的时候,DrJava会为你准备缩进

  public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
  • 最后,点击「保存」按钮来保存该文件,使用DrJava创建文件夹C:\Users\username\algs4\hello并将文件命名为「HelloWorld.java」,这个文件名是大小写敏感的而且必须匹配Java程序中的类名,其中username是你的Windows用户名

——————

2. 在DrJava中编译程序

——————

现在我们来将你的Java代码转化为可以在你的电脑上运行的东西,点击「编译」按钮(Compile),如果一切顺利的话,你会在DrJava底部的编译器输出窗格(Compiler Output Pane)看到这样一条信息

Compilation completed.

如果DrJava没有编译成功,你应该是输入错了一些东西,重新仔细检查你的代码,你可以用编译器输出窗格中的信息作为参考

——————

3. 在DrJava中运行程序

——————

现在来运行你的程序,这是很有趣的部分

  • 在底部的交互窗格(Interactions pane)中输入下列信息,按照习惯,我们高亮了你用粗体输入的部分『译者注:由于博客模板限制我没办法在我这里加粗相应内容,需要看加粗的去看原文吧』
  > java HelloWorld

如果一切顺利,你会看到如下信息:

Welcome to DrJava.  Working directory is C:\Users\username\algs4\hello
> java HelloWorld
Hello, World
  • 你或许会在成功运行前重复很多遍「编辑 - 编译 - 运行」的循环

——————

4. 命令行界面

——————

命令行工具提供了DrJava中也有的功能,包括重定向和管道。你将在「命令行工具」中输入你的指令

  • 安装器在桌面上创建了一个命令行工具(Command Prompt),双击以启动命令行,你将会看到类似于这样的消息:
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved. C:\Users\username>
  • 首先确认一下Java编译器已经被正确安装,在命令行中输入javac -version并确保输出内容跟下面一样
C:\Users\username>javac -version
javac 1.7.0_67
  • 其次确认一下Java解释器被正确安装,在命令行中输入java -version并确保输出内容跟下面一样
C:\Users\username>java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

如果你的机器是32位的,那么最后一行的内容应该是

Java HotSpot(TM) Client VM (build 24.65-b04, mixed mode, sharing)

——————

5. 在命令行中编译程序

——————

你可以使用javac命令来将你的Java代码转化为可以在你的电脑上运行的东西

  • 在命令行中,通过cd命令导航到包含HelloWorld.java的目录下,一般是C:\Users\username\algs4\hello,例如:
C:\Users\username>cd C:\Users\username\algs4\hello
C:\Users\username\algs4\hello>

javac命令进行编译

C:\Users\username\algs4\hello>javac HelloWorld.java
C:\Users\username\algs4\hello>

如果HelloWorld.java在当前目录下的话,你应该没有看到任何报错信息

  • 如果用到了我们的标准库,你应该用javac-algs4来代替javac,例如:如果需要编译TestAlgs4.java,这个程序引用了我们的标准绘图库,你应该这样写命令:
C:\Users\username\algs4>javac-algs4 TestAlgs4.java

『译者注 - start』

同理,如果你需要运行javac-algs4编译出来的.class文件的话,你也需要使用java-algs4 来运行,而不是使用java来运行

『译者注 - end』

——————

6. 在命令行中运行程序

——————

  • 你需要使用java命令来运行你的程序:
C:\Users\username\algs4\hello>java HelloWorld
Hello, World

你会在输出中看到Hello, World

  • 如果你想使用教科书提供的库的话,需要用java-algs4 来替代java,例如,在测试标准绘图和标准音频时你可以使用下面两条命令:

『译者注:使用之前需要注意!!!第一条命令是标准绘图,随便使用;第二条命令是标准音频,使用之后麦克风会开始播放奇怪的声音,请先调小音量,运行之后如果需要停止运行,除了直接关闭命令行窗口外,你还可以使用Ctrl+C的组合键来关闭这个运行』

C:\Users\username\algs4\hello>java-algs4 edu.princeton.cs.algs4.StdDraw
[ displays a graphics window with some geometric shapes and text ] C:\Users\username\algs4\hello>java-algs4 edu.princeton.cs.algs4.StdAudio
[ plays an A major scale ]

——————

7. 检查风格和查找bug

——————

你可以使用检查缝合查找bug两个工具来核查你的代码风格并检查一些简单的bug

  • 在命令行中可以这样使用检查风格功能:
C:\Users\username\algs4\hello>checkstyle-algs4 HelloWorld.java
Running checkstyle on HelloWorld.java:
Starting audit...
Audit done.

下面是一张可以检查的清单,你可以自定义这个风格检查,自定义的方法是编辑这个文件:C:\Users\username\algs4\checkstyle-6.9\checkstyle.xml

  • 在命令行中可以这样使用查找bug功能
C:\Users\username\algs4\hello>findbugs-algs4 HelloWorld.class
Running findbugs on HelloWorld.class:

下面是一张可以检查的清单,你可以自定义这个bug检查,自定义的方法是编辑这个文件:C:\Users\username\algs4\findbugs-3.0.1\findbugs.xml

——————

常见问题

——————

Q:我之前使用过另一本教材「Introduction to Programming in Java」的「introcs.app」安装器,我还应该使用「algs4.exe」安装器吗?

A: 是的,我们推荐「algs4.exe」安装器是因为「introcs.app」安装器不包含「algs4.jar」库和相应的命令javac-algs4java-algs4

Q: 运行安装器时我遇到了访问被拒绝的错误信息,我该怎么办

A: 确保你使用了一个管理员权限的账户,再重新运行一次安装器。另外,你的机器上可能有加密软件禁止写入C:\Users\username\AppData\Local目录,这也可能导致安装器运行失败

Q:安装器根本不运行,为什么?

A:这个安装器的运行需要PowerShell。运行Windows Update来升级你的电脑,如果是XP系统,你需要SP3。在XP SP3或者Vista环境下你也可以手动下载PowerShell2.0

Q: 我可以把安装目录设置在C盘以外的驱动器上吗?

可以,但是你需要自己手动修改参数

Q: 安装器在我的机器上不工作,怎么办?

A: 联系一个工作人员,然后检查一下哪儿出问题了

Q: 安装器到底做了些什么?

A: 简而言之就是:下载,安装,配置了Java、DrJava、Checkstyle、Findbugs和教材库,下面是一个更加详细的清单:

  1. java32.zip或者java64.zip下载和安装Java SE 7 Update 67,这其中包含了Java Runtime Environment(java.exe)和一部分Java Development Kit(javac.exe and toools.jar)

  2. algs4.jar下载教材库,并创建好javac-algs4java-algs4的包装脚本

  3. checkstyle.zip下载并安装Checkstyle 6.9,并从checkstyle.xml下载checkstyle的配置文件,给checkstyle-algs4创建包装脚本

  4. findbugs.zip下载和安装Findbug3.0.1,从findbugs.xml下载findbugs的配置文件,为findbugs-algs4创建包装脚本

  5. drjava.jar下载最新版本的DrJava,为DrJava在桌面上创建一个快捷方式,从drjava-config.txt下载一个DrJava的配置文件到C:\Users\username\.drjava,注意,这个操作会覆盖掉任何已经存在的.drjava配置文件

  6. 在环境变量中,将C:\Users\username\algs4\java\binC:\Users\username\algs4\bin添加到用户变量的PATH中

  7. 定制命令行工具,启用QuickEdit和Insert模式,将Screen Buffer Size设置为800-by-500,在桌面上创建一个命令行的快捷方式

  8. 通过编译和运行TestAlgs4.java测试是否安装成功

**Q: 我要如何完全卸载 algs4.exe ?

A:

  1. 删除C:\Users\username\algs4文件夹(但是要注意保存你的.java文件)

  2. 从你的环境变量的PATH变量中删除下面两个条目:

    • C:\Users\username\algs4\bin

    • C:\Users\username\algs4\bin

  3. 删除DrJava配置文件C:\Users\username\.drjava

  4. 删除桌面上的DrJava和命令行的快捷方式

Q: 我如果重新运行安装器会怎么样?

A: 重新下载、安装一遍,完全重复上述过程

Q: 如果我之前在其他位置安装过DrJava会怎么样?

A: 我们建议你删除他然后使用C:\Users\username\algs4这个版本

Q: 我可以使用其他版本的Java 吗?

A: 是的,但你需要自行配置Windows环境变量和DrJava的编译器属性

Q: 我可以使用除了DrJava以外的IDE吗?

A: 是的,你可以使用其他的IDE(比如Eclipse)但你需要自己配置编译器属性,比如classpath

Q: 当我启动Eclipse时,我收到这样一个报错信息“Failed to load JNI shared library”,我该怎么办?

A: 你多半是使用了一个64位的Java和32位的Eclipse。如果你是64位的机器,安装器会自动安装64位的Java,这会替代之前的32位版本的Java。有两种方法解决这个问题:要么将Eclipse升级到64位,要么将C:\Users\username\introcs\java移除,这样的话Windows就会使用之前的32位Java。当然你可以可以在Eclipse.ini中指定使用特定的Java版本

Q: 我要怎么中断一个无限循环?

A: 在DrJava中,直接点击Reset按钮即可或者在菜单里选择Tools->Reset Interactions,如果是在命令行里面的话,使用Ctrl+C

Q: 当使用标准输入时,我要怎么表明输入完成(没有后续数据了)

A: 如果你是从键盘输入的话,使用Ctrl+z表示文件结尾(EOF)

Q: 在Windows中要怎么显示 .java 和 .class 的后缀名?

A: 在很多Windows系统中后缀名都被隐藏了,在这种情况下,这样打开他,选择Start -> My Computer -> Tools -> Folder Options -> View,取消对Hide file extensions for known file types选项的选中状态,确认退出即可

Q: 当我在命令行输入java -versionjavac -version时报错了,我该怎么办?

A: 首先确认这两个文件存在:

C:\Users\username\algs4\java\bin\javac.exe

C:\Users\username\algs4\java\bin\java.exe

如果存在的话,应该是环境变量中PATH的值不对,在命令行中输入下面一句:

C:\Users\username> echo %PATH%

PATH环境变量应该包含C:\Users\username\algs4\java\bin

Q: 当我在命令行中编译或者运行一个引用了教材库的程序时报错了,为什么?

A: 注意要使用javac-algs4java-algs4而不是javac或者java

Q: 在命令行中我应该如何导航到另一个驱动器?

A: 在命令行中,用H:导航到H盘,用cd导航到当前驱动器的其他文件夹

Q: 我该如何学习更多与命令行有关的知识?

A: 微软提供了一个命令行知识库

Q: 我是否可以用Windows PowerShell来替代命令行?

A: PowerShell是一个比命令行更高级的命令行工具,但是,它现在还不支持重定向标准输入

在Windows上安装「算法 第四版」组件的更多相关文章

  1. 算法第四版 在Eclipse中调用Algs4库

    首先下载Eclipse,我选择的是Eclipse IDE for Java Developers64位版本,下载下来之后解压缩到喜欢的位置然后双击Eclipse.exe启动 然后开始新建项目,File ...

  2. 在 Windows 上安装Rabbit MQ 指南

    rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. Ra ...

  3. (转)在 Windows 上安装Rabbit MQ 指南

    rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. Ra ...

  4. 在Windows上安装MySQL(免安装ZIP版)

    在 Windows 上安装MySQL(免安装ZIP版) 因为一些原因,重新安装了MySQL数据库,重装时习惯性使用最新版下载 此过程中发现MySQL 5.7.12 和MySQL 5.6的安装有些区别: ...

  5. 在 Windows 上安装 Hadoop 教程(转)

    在 Windows 上安装 Hadoop 教程 一见 2010.1.6 www.hadoopor.com/hadoopor@foxmail.com 1. 安装 JDK 不建议只安装 JRE,而是建议直 ...

  6. NodeJs在windows上安装配置测试

    Node.js简介简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个 ...

  7. 在Windows上安装Elasticsearch 5.x

    在Windows上安装Elasticsearch 5.x 自己想学习Elasticsearch,但是又不懂Linux,按照同事给的Linux安装教程,也是搞不明白,于是想先在Windows上安装一下入 ...

  8. Windows上安装多个MySQL实例(转)

    在学习和开发过程中有时候会用到多个MySQL数据库,比如Master-Slave集群.分库分表,开发阶段在一台机器上安装多个MySQL实例就显得方便不少. 在 MySQL教程-基础篇-1.1-Wind ...

  9. windows上安装python虚拟环境

    一.windows上安装python虚拟环境 1.安装pip install virtualenvvirtualenv --version 2.新建一个python虚拟环境virtual_env_01 ...

随机推荐

  1. MySQL新建用户与授权

    一.登录root用户 [root@iZm5e9gg1p5y1co0usac2cZ webapps] # mysql -uroot -p 二.新建用户 mysql> create user '; ...

  2. 【BZOJ4571】美味(主席树)

    [BZOJ4571]美味(主席树) 题面 Description 一家餐厅有 n 道菜,编号 1...n ,大家对第 i 道菜的评价值为 ai(1≤i≤n).有 m 位顾客,第 i 位顾客的期 望值为 ...

  3. 【HDU1695】GCD(莫比乌斯反演)

    [HDU1695]GCD(莫比乌斯反演) 题面 题目大意 求\(a<=x<=b,c<=y<=d\) 且\(gcd(x,y)=k\)的无序数对的个数 其中,你可以假定\(a=c= ...

  4. 空间金字塔池化(Spatial Pyramid Pooling, SPP)原理和代码实现(Pytorch)

    想直接看公式的可跳至第三节 3.公式修正 一.为什么需要SPP 首先需要知道为什么会需要SPP. 我们都知道卷积神经网络(CNN)由卷积层和全连接层组成,其中卷积层对于输入数据的大小并没有要求,唯一对 ...

  5. Red Hat Enterprise Linux7 配置Tomcat

    笔者是Java前端的一个萌新,电脑刚刚经历了一番脱胎换骨,然后重新装了Win10Pro,所有的开发工具都要重新安装,纠结了一番以后决定还是把一些开发工具从Windows上转移到Linux上,首先考虑了 ...

  6. CyQ.data MDataTable

    前言 以前一两个月才出一篇,这三天有点变态地连续1天1篇(其实都是上周末两天写好的存货). 短期应该没有新的和此框架相关的文章要写了,这应该是最后一篇,大伙且看且珍惜. 前两篇讲数据库读写分享和分布式 ...

  7. LeetCode之Easy篇 ——(1)Two Sum

    1.Two Sum Given an array of integers, return indices of the two numbers such that they add up to a s ...

  8. redis笔记总结之redis安装

    二.Redis安装 2.1 Redis下载 官网地址:http://redis.io/ 下载地址:http://download.redis.io/releases/redis-3.0.0.tar.g ...

  9. 用Canvas生成随机验证码(后端前端都可以)

    一 .使用前端生成验证码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  10. 关于del命令

    del命令用于删除具体的文件,但是删除文件的时候如果不指定文件的扩展名就会显示找不到文件 还有如果所要删除文件的文件名中含有空格的话该命令会自动识别为几个文件,就从空格处把文件 分成几份,然后就会显示 ...