1.10 练习

每章末尾都有练习,只需要利用在该章学到的知识就能完成。强烈建议你尝试完成每个练习,光阅读是学不会编程的,得实践才行。

要想编译并运行 Java 程序,需要下载并安装一些工具。这样的工具很多,但我们推荐 DrJava——一个非常适合初学者使用的“集成开发环境”。有关如何安装 DrJava,请参阅附录 A 的 A.1 节。

本章的示例代码位于仓库 ThinkJavaCode 的目录 ch01 中,有关如何下载这个仓库,请参阅前言中的“使用示例代码”一节。做以下的练习前,建议你先编译并运行本章的示例。

练习1-1

计算机科学家有个毛病,喜欢赋予常见的英语单词以新的义项。例如,在英语中 statement 和 comment 是同义词,但在程序中它们的含义不同。

(1) 在计算机行话中,语句和注释有何不同?

(2) 说程序是可移植的是什么意思?

(3) 在普通英语中,单词 compile 是什么意思?

(4) 何为可执行程序(executable)?为何这个单词被用作名词?

每章末尾的术语表旨在突出计算机科学中有特殊含义的单词和短语。看到熟悉的单词时,千万不要理所应当地认为你知道它们的含义!

练习1-2

接着往下读之前,请先搞清楚如何编译和运行 Java 程序。有些编程环境提供了类似于本章 Hello World 程序的示例程序。

(1) 输入 Hello World 程序的代码,再编辑并运行它。

(2) 添加一条打印语句,在“Hello, World!”后面再显示一条诙谐的消息,如“How are you?”,然后再编译并运行这个程序。

(3) 在这个程序中添加一条注释(什么地方都可以),再编译并运行它。新添的注释应该对结果没有任何影响。

这个练习看似微不足道,却为编写程序打下了坚实的基础。要想得心应手地调试程序,必须熟悉编程环境。

在一些编程环境中,一不小心就不知道当前执行的是哪个程序了。你可能想调试某个程序,却不小心运行了另一个程序。为确保你看到的就是要运行的程序,一种简单的方法是添加并修改打印语句。

练习1-3

将能想到的错误都犯一次是个不错的注意,这样你就知道编译器都会显示哪些错误消息了。在有些情况下,编译器会准确地指出错误,你只需要修复指出的错误即可;但有时候,错误消息会将你引入歧途。调试多了就会培养出感觉,知道什么情况下该信任编译器,什么情况下只能自力更生。

请在本章的 Hello World 程序中尝试下面每一种错误。每次修改后编译程序并阅读出现的错误消息,然后再修复错误。

(1) 删除其中的一个左大括号。

(2) 删除其中的一个右大括号。

(3) 将方法名 main 改为 mian

(4) 删除单词 static

(5) 删除单词 public

(6) 删除单词 System

(7) 将 println 改为 Println

(8) 将 println 替换为 print

(9) 删除其中的一个括号;添加一个括号。