1 Java程序设计基础
1.1 要想编写规范、可读性高的 Java 程序,就必须对 Java 基本语法有所了解。基本语法是所有编程语言都必须掌握的基础知识,也是整个程序代码不可缺少的重要部分。
一个 Java 程序通常由数据类型、变量、运算符和控制流程语句4部分组成。其中数据类型和运算符不仅定义了语言的规范,还决定了可以执行什么样的操作,变量是用来存储指定类型的数据,其值在程序运行期间是可变的;与变量对应的是常量,其值是固定的。
本章将详细介绍 Java 程序中的基本数据类型、变量、常量、运算符等相关知识。对初学者来说,应该对本章的每个小节进行仔细阅读、思考,这样才能达到事半功倍的效果。
1.2 Java标识符和关键字
任何一种计算机语言都离不开标识符和关键字,因此下面将详细介绍 Java 的标识符、关键字和保留字。
标识符
Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。在 Java 语言中,标识符的构成规则如下。
- 标识符由数字(0~9)和字母(A~Z 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。
- 标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线。
另外,Java 区分大小写,因此 myvar 和 MyVar 是两个不同的标识符。
提示:标识符命名时,切记不能以数字开头,也不能使用任何 Java 关键字作为标识符,而且不能赋予标识符任何标准的方法名。
标识符分为两类,分别为关键字和用户自定义标识符。
- 关键字是有特殊含义的标识符,如 true、false 表示逻辑的真假。
- 用户自定义标识符是由用户按标识符构成规则生成的非保留字的标识符,如 abc 就是一个标识符。
提示:使用标识符时一定要注意,或者使用关键字,或者使用自定义的非关键字标识符。此外,标识符可以包含关键字,但不能与关键字重名。
例如以下合法与不合法标识符。
- 合法标识符:date、 $2011、 _date、D_$date 等。
- 不合法的标识符:123.com、2com、for、if 等。
标识符用来命名常量、变量、类和类的对象等。因此,一个良好的编程习惯要求命名标识符时,应赋予它一个有意义或有用途的名字。
关键字
关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用。关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。例如,在《使用记事本编写运行Java程序》一节的实例 HelloJava.java 中的 class 就是一个关键字,它用来声明一个类,其类名称为 HelloJava。public 也是关键字,它用来表示公共类。另外,static 和 void 也是关键字,它们的使用将在本教程后面的章节中详细介绍。
Java 的关键字对 Java 编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等。保留字是为 Java 预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。
Java 语言目前定义了 51 个关键字,这些关键字不能作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。
- 数据类型:boolean、int、long、short、byte、float、double、char、class、interface。
- 流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。
- 修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。
- 动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。
- 保留字:true、false、null、goto、const。
提示:由于 Java 区分大小写,因此 public 是关键字,而 Public 则不是关键字。但是为了程序的清晰及可读性,要尽量避免使用关键字的其他形式来命名。
2.3 Java注释:单行、多行和文档注释
注释是对程序语言的说明,有助于开发者和用户之间的交流,方便理解程序。注释不是编程语句,因此被编译器忽略。
Java 支持以下三种注释方式:
1)单行注释
以双斜杠“//”标识,只能注释一行内容,用在注释信息内容少的地方。打开 Eclipse,在 Java 代码中使用单行注释,如图 1 所示。
图 1 单行注释
2)多行注释
包含在“/*”和“*/”之间,能注释很多行的内容。为了可读性比较好,一般首行和尾行不写注释信息(这样也比较美观好看),如图 2 所示。
注意:多行注释可以嵌套单行注释,但是不能嵌套多行注释和文档注释。
图 2 多行注释
3)文档注释
包含在“/**”和“*/”之间,也能注释多行内容,一般用在类、方法和变量上面,用来描述其作用。注释后,鼠标放在类和变量上面会自动显示出我们注释的内容,如图 3 所示。
注意:文档注释能嵌套单行注释,不能嵌套多行注释和文档注释,一般首行和尾行也不写注释信息。
图 3 文档注释
文档注释可以通过 Javadoc 命令把文档注释中的内容生成文档,并输出到 HTML 文件中,方便记录程序信息。还可以包含一个或多个 @ 标签,每个 @ 标签都在新的一行开始。关于 Javadoc 的具体标签和使用可阅读学习《Javadoc入门教程》一节。
在 Java 中,一行注释以双斜杠“//”标识;多行注释包含在“/*”和“*/”之间;文档注释包含在“/**”和“*/”之间。当编译器执行到“//”时,就会忽略该行“//”之后的所有文本;当执行到“/*”时,会扫描下一个“*/”并忽略“/*”和“*/”之间的任何文本;当执行到“/**”时,也会扫描下一个“*/”并忽略“/**”和“*/”之间的任何文本内容。