程序设计基础(第8版)实验指导与习题解答 4 ①选择Windows选项 ②单击此处下载 图1.1 下载JDK压缩包文件 步骤2:安装JDK。在C盘的根目录下新建一个文件夹,命名为jdk。将JDK压缩文 件包jdk-17_windows-x64_bin.zip解压到文件夹C:\jdk中,称C:\jdk为安装路径。 步骤3:配置JDK运行环境。因为是利用压缩包安装的JDK,所以需要人工配置 运行环境。在Windows 11操作系统的任务栏中单击“文件资源管理器”按钮,在弹出 窗口的左窗格中右击“此电脑”选项,在弹出的快捷菜单中选择“属性”命令。然后在 弹出的“关于”窗口中选择“相关链接”组中的“高级系统设置”选项,弹出“系统属 性”对话框。在该对话框中选择“高级”选项卡,单击“环境变量”按钮,弹出“环境 变量”对话框。在该对话框中单击“系统变量”选项区域下面的“新建”按钮添加系统 变量Java_Home,在弹出的“新建系统变量”对话框中的“变量名”文本框中输入Java_ Home,在“变量值”文本框中输入C:\jdk,该值就是JDK的安装路径。单击“确定”按 钮返回“环境变量”对话框,然后在该对话框的“系统变量”选项区域中选择Path选项, 单击“编辑”按钮(因为系统变量Path在Windows安装后就已经生成,所以不需要新建 Path,只需编辑为其添加新值即可),弹出“编辑系统变量”对话框。单击“新建”按钮, 将%Java_Home%\bin添加到当前值中,单击“确定”按钮,如图1.2所示。由于系统变 量Java_Home的值设置为C:\jdk,因此可以用%Java_Home%代替C:\jdk,所以为Path添 加的新值就是C:\jdk\bin。 说明:如果不想创建系统变量Java_Home,则必须将“C:\jdk\bin;”添加到已存在的Path 路径值的最前面。设置系统变量Java_Home的好处是便于维护系统变量Path。 步骤4:检验JDK设置是否成功。在Windows 11桌面的任务栏上单击“搜索”按钮, 在弹出的窗格上面的搜索栏“在此键入进行搜索”命令框中输入cmd并按Enter键(或按 第1章 Java语言概述 5 Win+R组合键打开“运行”对话框,输入命令cmd),弹出命令行窗口,在该窗口中输入 javac并按Enter键后,若输出如图1.3所示的内容,则表示JDK安装和配置成功;若输出 其他内容,则表示不成功,这时,首先检查JDK是否安装在C盘的jdk目录下,再检查 路径系统变量Path的值是否包含有%Java_Home%\bin。Path路径修改后,需要把命令行 窗口关闭后再打开,Path路径修改才生效。 ② ④ ① ⑤ ③ ⑥ 图1.2 设置JDK运行路径Path 程序设计基础(第8版)实验指导与习题解答 图1.3 JDK路径设置成功 步骤5:设置ClassPath系统变量。在图1.4所示的“新建系统变量”对话框中的“变 量名”文本框中输入ClassPath,同时在“变量值”文本框中输入Java类库所在的路径值 “.;%Java_Home%\lib”。 图1.4 创建类路径ClassPath系统变量 若想在命令行窗口查看、删除或设置系统变量Path和ClassPath的值,可使用如下方 法。需说明的是,在命令行窗口下删除与设置的系统变量是临时性的,只在本次打开的命 令行窗口有效,关闭命令行窗口后则设置失效,下次打开命令行窗口时可以重新设置。 (1)设置Path和ClassPath的值。 set path=C:\jdk\bin或set path=C:\jdk\bin;%path% set classpath=.; C:\jdk\lib (2)删除Path和ClassPath的值。 set path= set classpath= (3)查看Path和ClassPath的值。 set path 或echo %path% set classpat或echo %classpath% 实验1.2 编译与运行Java应用程序 1.实验目的 (1)了解Java应用程序的结构。 (2)学习Java应用程序源文件的编辑、编译与运行。 (3)学习解决Java源文件编译过程中出现的常见问题。 2.实验要求 编写一个Java应用程序,该程序将会在命令行窗口下输出一句话:“Java世界欢迎 您!”。程序运行结果如图1.5所示。 图1.5 程序Hello运行结果 3.程序模板 //FileName:Hello.java public class Hello{ public static void main(String[] args){ System.out.println("Java世界欢迎您!"); } } 4.实验指导 从实验1.1中可以知道,安装好JDK后,也同时安装了Java的运行环境,所以就可 以编辑、编译与运行Java程序了。 步骤1:在D盘(其他盘也可以)的根目录下新建一个文件夹java,在java文件夹下 新建一个文件夹d1。 步骤2:打开文件夹d1,在窗口的工具栏中单击“查看更多”按钮“…”,在下拉菜 单中选择“选项”命令,在弹出的“文件夹选项”对话框中选择“查看”选项卡,在“高 级设置”列表框中取消选中的“隐藏已知文件类型的扩展名”复选框,单击“确定”按 钮,关闭“文件夹选项”对话框,如图1.6所示。 步骤3:在d1文件夹下右击空白区域,在弹出的快捷菜单中选择“新建”→“文本 文档”命令,新建一个文本文件,重命名为Hello.java。这时操作系统会发出警告:“如果 改变文件扩展名,可能会导致文件不可用,确实要更改吗?”,这里单击“是”按钮,如 图1.7所示。 程序设计基础(第8版)实验指导与习题解答 取消选中 图1.6 设置显示文件扩展名 ② ① ③ 图1.7 修改文件扩展名 步骤4:右击Hello.java文件,在弹出的快捷菜单中选择“打开方式”命令,在弹出 的“你要如何打开这个文件”对话框中选择“更多应用”选项,在弹出的“你要如何打开 这个文件”列表框中选择“记事本”选项,然后选中下面的“始终使用此应用打开.java 文件”复选框,如图1.8所示,最后单击“确定”按钮。注意,一定要在“你要如何打开 这个文件”列表框中确保“始终使用此应用打开.java文件”复选框被选中,这样以后双 击扩展名为.java的文件时,操作系统就会自动用记事本程序打开。 ①右击 ②选择“打开方式”命令 ③选择“更多应用”选项 ④选择“记事本”选项并选中 “始终使用此应用打开.java 文件”复选框 图1.8 设置打开方式 步骤5:在Hello.java文件中输入“程序模板”下的程序代码。输入后,选择“文 件”→“保存”命令,或者按Ctrl+S组合键。注意,源文件每次修改后,都需要保存。 步骤6:在任务栏上单击“搜索”按钮,在弹出的窗格上面的搜索栏“在此键入进 行搜索”命令框中输入cmd并按Enter键(或按Win+R组合键打开“运行”对话框,输 入命令cmd),打开命令行窗口,在命令行窗口下输入“d:”后按Enter键,切换到D盘 下,接着输入cd java\d1后按Enter键,切换到D:\java\d1路径下,如图1.9所示。 ①输入cmd后 ② ③ 图1.9 在命令行模式下修改路径 步骤7:输入命令javac Hello.java后按Enter键,如果程序输入没有错误,显示如 图1.10所示,同时在d1文件夹下生成一个Hello.class的字节码文件;如果程序输入有错 误,命令行窗口将会给出错误信息,例如,如果这里将程序中的类名Hello写成了hello, 则会给出如图1.11所示的错误信息,这时,需要根据错误提示信息进行修改,修改后必 须重新保存文件,再进行编译。 程序设计基础(第8版)实验指导与习题解答 图1.10 编译成功 图1.11 没能通过编译 步骤8:在命令行窗口中的D:\java\d1路径下输入命令Java Hello后按Enter键,可以 看到如图1.5所示的运行结果,显示了一条语句“Java世界欢迎您!” 下面列出命令行方式下的几个常用命令,以方便读者使用。 说明:命令行窗口的命令不分大小写;在对文件进行操作过程中,?代表一个合法字符; *代表一串合法字符;\代表根目录或目录分隔符;.表示当前目录;..表示上级目录。 (1)盘符:改变盘符。如d:。 (2)DIR:显示目录或文件。格式:DIR [/?] [drive:][path][filename] [/A[[:]attributes]] [/B] [/ O[[:]sortorder]] [/P] [/S] [/W]。 参数介绍如下。 ●/?:查看dir命令格式及使用方法,如dir /?。 ●[drive:][path][filename]:指定要列出的驱动器、目录和/或文件。 ● /A:显示具有指定属性的文件。其中,属性可选项attributes取值为:D,目录;R,只读 文件;H,隐藏文件;A,准备存档的文件;S,系统文件;若没有可选项则表示所有文件。 ●/B:只显示文件名。 ●/P:在每个信息屏幕后暂停。 ●/S:搜索并显示指定目录及所有子目录中文件,如查找文件dir /a/s javac.exe。 ●/W:用宽列表格式。 (3)MD:创建目录。格式:MD [drive:] path。 (4)CD:改变当前目录。格式:CD [drive:] [path] 如cd \或cd ..。 (5)RD:删除空的子目录。格式:RD [drive:] path。 (6)Path:设置搜索路径。格式:set path= [ [drive:] path [;…]]。不带等号和参数,则只 显示路径;只带等号=,则只清除搜索路径。 (7)CLS:清屏。 实验1.3 JDK参考文档的使用 1.实验目的 (1)学习下载与使用JDK参考文档。 (2)了解JDK参考文档的组成。 2.实验指导 步骤1:通过浏览器访问Oracle公司Java SE的下载页面。进入Java SE的下载页面 https://www.oracle.com/java/technologies/javase-jdk17-doc-downloads.html,如图1.12所示, 下载JDK参考文档。 单击此处下载 JDK参考文档 图1.12 JDK参考文档下载页面 步骤2:下载得到的JDK参考文档是一个名为jdk-17.0.1_doc-all.zip的压缩文件。 步骤3:将该文件解压到C:\jdk\docs下后,在该目录下有一个index.html文件,用浏 览器打开该文件,出现JDK参考文档的首页,如图1.13所示。 导航条 选项卡 图1.13 JDK参考文档的首页 该文档的顶部为导航条,分别对应不同的页面,共有OVERVIEW、MODULE、 PACKAGE、CLASS、USE、TREE、PREVIEW、NEW、DEPRECATED、INDEX、HELP 程序设计基础(第8版)实验指导与习题解答 等11项,下面简单介绍各个页面的作用。 (1)OVERVIEW页面。该页面描述了该文档所有模块被分成Java SE(Java平台标准 版)和JDK(Java开发工具包)两大部分并对其简介。 Java SE:Java SE API定义了通用计算的核心Java平台。这些API在模块中,名称以 java开头。 JDK:JDK API是特定于JDK的,并且在Java SE平台的所有实现中不一定都可以使 用。这些API在模块中,它们的名字以jdk开头。 (2)MODULE页面。当在选择一个模块后,在窗口中给出该模块的描述。Java 17中 的模块是代码、数据和有些资源自描述的集合。由于JDK系统太过庞大,因此Java 17将 JDK划分成小模块。这样可以方便开发者使用任何想要的模块,因此缩减Java应用程序 到小设备是非常容易的。 (3)PACKAGE页面。在该页面中提供了对所选包的描述,包括包的类型、相关包和 层次结构等,并列出该包中所包含的接口和类,同时在这些内容的旁边给出概要说明。 (4)CLASS页面。在该页面中提供了对所选类的描述,并列出该类中所包含的属性 和方法,同时在这些内容的旁边给出概要说明。例如选择java.lang包,然后选中System 类,显示如图1.14所示的画面。从图1.14中可以看出System类继承了Object类,它的完 整定义为: public final class System extends Object System类为最终类,因此不能再派生子类。在System类的页面中,包括对System类 的概要说明。 继承关系说明 图1.14 JDK帮助文档中的CLASS页面 究竟System类里面包含了哪些属性和哪些方法,通过拖动界面中的滚动条可以详细 了解。如看到System类有err、in、out三个静态属性,分别是标准错误输出、标准输入、 标准输出。 (5)USE页面。该页面说明哪些包、类、方法使用了该类。图1.15所示的是System 类的USE页面。此页面说明没有其他的类使用了System类。 图1.15 System类的USE页面 (6)TREE页面。该页面给出了包中的类和接口的继承层次图,通过该页面,可以快 速地了解包中类和接口的继承关系。 (7)PREVIEW页面。该页面指出该页面中所列出的接口、类、方法和枚举在未来可 能会被删除。该页面如图1.16所示。 图1.16 JDK的PREVIEW页面 程序设计基础(第8版)实验指导与习题解答 (8)NEW页面。该页面中显示了若干选项卡,如图1.17所示。最左边的选项卡New Modules表示不区分版本添加的新元素。即所有这些新元素,无论它们是在哪个版本中添 加的都显示在该选项卡中。其他每个选项卡中的Added in表示在特定版本中添加的新元 素。任何元素显示在最左侧选项卡下也显示在右侧选项卡之一的下面。 JDK 16版中添加的新元素 JDK 14版中添加的新元素 新添加的所有元素 图1.17 JDK的NEW页面 (9)DEPRECATED页面。该页面列出了所有已过时的类、接口、方法等元素。一般 是有缺点,通常会给出替换 API。在下面显示的若干选项卡中,最左面的选项卡给出了已 不再使用的元素,而其他选项卡则指出是在哪个JDK版中被弃用的。 (10)INDEX页面。该页面按照字母顺序列出了JDK中所有的类、接口、方法、属 性等内容,如图1.18所示。通过该页面可以快速地在JDK参考文档中查找到需要了解的 细节。例如,查看println()方法的细节。 按字母的索引顺序 图1.18 JDK的INDEX页面 通过该页面可以找到println()方法,如图1.19所示,由此可知println()方法是定义在 PrintStream类中的,并且有许多重载的方法,再单击PrintStream类,就可以找到println() 方法的定义。 图1.19 println()方法的页面 (11)HELP页面。该页面是JDK帮助文档的帮助页面,概要描述了文档中各个页面 的内容。 实验1.4 Eclipse集成开发环境 1.实验目的 (1)学习使用Eclipse创建项目。 (2)学习使用Eclipse环境创建Java应用程序。 (3)学习在Eclipse环境下调试Java应用程序。 2.实验说明 Eclipse集成开发环境(Eclipse IDE)虽然是一个很优秀的集成开发工具,但还是建议 初学者直接使用Java SE提供的JDK,因为无论哪种集成开发环境都将JDK作为其核心, 而且集成开发环境界面操作复杂,主要是它屏蔽掉一些知识点,不利于初学者掌握基础知 识。本实验之所以介绍Eclipse集成开发环境,是应某些已经掌握了Java基础知识的读者 的要求介绍Eclipse集成开发环境的用法。 3.实验指导 Eclipse是IBM公司“日食计划”的产物。2001年6月,IBM公司将价值4000万美 元的Eclipse捐给了开源组织。Eclipse是一个免费的、开放源代码的、著名的跨平台的集 程序设计基础(第8版)实验指导与习题解答 成开发环境。经过发展,Eclipse已经成为目前最流行的Java集成开发环境,现已成为业 界的工业标准。要想获得Eclipse,进入Eclipse官方网站http://www.eclipse.org可以下载 最新版本的Eclipse安装文件。本书下载得到的安装文件为eclipse-inst-win64.exe。 1)安装Eclipse集成开发环境 双击Eclipse安装文件eclipse-inst-win64.exe,进入如图1.20所示的安装界面。在该界 面中根据需要进行选择安装,这里选择第一项,然后开始安装。 图1.20 Eclipse集成开发环境安装界面 2)启动Eclipse开发环境 安装完后,启动Eclipse开发环境。第一次运行Eclipse,启动向导会弹出如图1.21 所示的让用户选择Workspace(工作区)的界面。所谓Workspace就是所有Eclipse项 目的工作目录,表示接下来的代码和项目设置都将保存到该工作目录下。这里输入的是 D:\CgjWS,若该目录不存在则系统自动生成,当然也可以单击Browse按钮,然后在弹出 的对话框中选择已存在的目录。 图1.21 工作区目录设置 设置完工作区后,单击Launch按钮,即可进入如图1.22所示的欢迎界面。关闭欢迎 界面的选项卡后就进入如图1.23所示的开发环境布局界面。 图1.22 Eclipse的欢迎界面 编译问题列表、 文档注释、声明 和控制台等选项卡 菜单栏 包资源 管理器 工具栏 项目资源导航 透视图 程序分析工具 控制台的输出结果 代码编辑区 图1.23 Eclipse开发环境布局界面 Eclipse的开发环境包含如下几部分: ●顶部为菜单栏、工具栏。 ● 右上角为IDE的透视图,Java透视图是Eclipse专门为Java项目设置的开发环境 布局,用于切换Eclipse不同的外观。通常根据开发项目的需要切换不同的视图。 ●左侧窗格为项目资源导航,主要有包资源管理器。 ●右侧窗格为程序分析工具,主要有大纲、任务列表等。 ●底部为显示区域,主要有编译问题列表、文档注释、声明和控制台等选项卡。 ●中间区域为代码编辑区。 使用Eclipse集成开发环境常用的操作集中在新建Java项目、新建类、编译与运行 Java程序、调试Java程序这几方面,下面针对这些常用操作进行简单介绍。 程序设计基础(第8版)实验指导与习题解答 3)新建Java项目 创建Java程序前,首先需要创建一个项目。项目类似一个文件夹,用于包含Java程 序以及所有支持的文件,即项目是开发特定应用软件所需的源文件、库文件等多个文件的 集合。只需创建项目一次。 选择File→New→Java Project命令,弹出如图1.24所示的新建Java项目对话框。 输入项目名 选择Java运行环境 项目布局 是否将项目添加到工作集 图1.24 新建Java项目对话框 在Project name文本框中输入项目名,本例输入的项目名是CgjProject。Location文本 框自动设置为默认。也可以单击Browse按钮为项目自定义位置。 在选择Java运行环境选项区域中,选择第一项Use an execution environment JRE(使 用执行环境)即可。 在项目布局选项区域中,若选择第一项,则将.java文件和.class文件均放在项目文件夹 CgjProject下,方便访问。若选择第二项,则会在项目文件夹CgjProject下生成两个子文件夹: 一个是scr,用于存放.java源文件;另一个是bin,用于存放.class类文件。这里选择第二项。 单击Next按钮后,进入如图1.25所示的Java构建设置对话框。该对话框中的设置 都取默认值即可,其中在源码选项卡Source下可以看到源文件程序保存在CgjProject/scr 文件夹下,默认输出的.class类文件保存在CgjProject/bin文件夹下。在该对话框中单击 Finish按钮,弹出如图1.26所示的询问是否创建模块对话框,可以根据需要进行选择,这 里选择不创建,所以单击Don’t Create按钮。完成项目的创建后,返回如图1.23所示的 开发环境窗口中。 保存源文件的文件夹 源码选项卡 保存类文件的文件夹 图1.25 Java构建设置对话框 按照惯例,模块名通常以小写字母开 头,不建议使用这个模块名 图1.26 询问是否创建模块对话框 4)新建类 创建完成项目后,就可以创建类文件。选择File→New→Class命令,弹出如图1.27 所示的新建Java类对话框。 在该对话框的源文件夹项Source folder文本框中输入保存源文件的文件夹,这里取 默认值CgjProject/scr即可。在文件所在包Package文本框中输入chapter2,即第2章程序 所在的包名。在类名Name文本框中输入App2_1。修饰符Modifiers中根据需要进行选 择,这里选择public单选按钮。在父类Superclass文本框中根据需要选择或输入其父类。 在Which method stubs would you like to create选项区域选择创建方法的存根,选中public static void main(String[] args)复选框,Eclipse将自动生成main()方法。单击Finish按钮后, 新类App2_1.java创建完毕,然后弹出如图1.28所示的Eclipse开发环境窗口。 程序设计基础(第8版)实验指导与习题解答 选择源文件所在文件夹 输入源文件所在包 输入类名 选择修饰符 选择父类 选择创建哪 些方法存根 选择是否生成注释 图1.27 新建Java类对话框 图1.28 Eclipse开发环境窗口 说明:存根程序Stub其实就是通常所说的桩模块。软件的集成方式分为两种:自顶向下 和自底向上。第一种集成方式需要开发桩程序,第二种集成方式需要开发驱动程序。桩 程序就是用来给调用它们的模块传递数据。 5)编辑与运行Java程序 在该窗口的代码编辑区中输入如图1.29所示的程序代码,然后选择Run→Run As命 令即可编译、运行一步到位,如图1.29所示。 图1.29 编辑与运行App2_1.java程序 如果在Eclipse集成开发环境中运行主方法需要参数的程序,如App2_1.java,则 main()方法的参数需要在运行前在界面中设置。方法如下:首先选中App2_1.java文件, 然后选择Run→Run Configurations命令,弹出如图1.30所示的Run Configurations窗口。 选择Arguments选项卡,然后在Program arguments选项区域中输入参数,这里输入的是 “欢欢 乐乐 你们好!”三个参数,然后单击Run按钮,即可在如图1.29所示的控制台窗 口中看到输出结果。 选择Arguments选项卡 输入主方法需要的参数 图1.30 在Eclipse开发环境中提供命令行参数 6)调试Java程序 在Eclipse的代码编辑区双击需要设置断点的行的左侧边框,会出现一个蓝色的断点 标识,如图1.31所示。 程序设计基础(第8版)实验指导与习题解答 断点标识 图1.31 在编辑区边框双击设置断点标识 单击工具栏上的“调试”按钮,然后在下拉菜单中选择Debug As命令,选 择要调试的程序,则弹出如图1.32所示的询问是否切换到Debug透视图对话框,单击 Switch按钮,进入如图1.33所示的程序调试界面。单击工具栏中的或按钮,观察 Variables窗格中的局部变量的变化,以及输出的变化,对代码进行调试并运行。 图1.32 询问是否切换到Debug透视图 Variables窗格 图1.33 Eclipse的程序调试界面