3.2 标识符和关键字
Java语言也和其他编程语言一样,使用标识符作为变量、对象的名字,也提供了系列的关键字用以实现特别的功能。本节详细介绍Java语言的标识符和关键字等内容。
3.2.1 分隔符
Java语言里的分号;、花括号{}、方括号[]、圆括号()、空格、圆点.都具有特殊的分隔作用,因此被统称为分隔符。
1. 分号
Java语言里对语句的分隔不是使用回车来完成的,Java语言采用分号(;)作为语句的分隔,因此每个Java语句必须使用分号作为结尾。Java程序允许一行书写多个语句,每个语句之间以分号隔开即可;一个语句也可以跨多行,只要在最后结束的地方使用分号结束即可。
字符串 变量名不能跨行
值得指出的是,Java语句可以跨越多行书写,但一个字符串、变量名不能跨越多行。例如,下面的Java语句是错误的。
1
2
3
4
5
6//字符串不能跨越多行
string a="ddddd
xxxxx";
//变量名不能跨越多行
string na
me="小明";
不仅如此,虽然Java语法允许一行书写多个语句,但从程序可读性角度来看,应该避免在一行书写多个语句
2. 花括号
**花括号的作用就是定义一个代码块,**一个代码块指的就是“{”和“}”所包含的一段代码,代码块在逻辑上是一个整体。
对Java语言而言,类定义部分必须放在一个代码块里,方法体部分也必须放在个代码块里。
除此之外,条件语句中的条件执行体和循环语句中的循环体通常也放在代码块里。
花括号一般是成对出现的,有一个“{”则必然有一个“}”,反之亦然。
3. 方括号
方括号的主要作用是用于访问数组元素,方括号通常紧跟数组变量名,而方括号里指定希望访问的数组元素的索引。
例如,如下代码:
1
2//下面代码试图为名为a的数组的第四个元素赋值
a[3]=3;
4. 圆括号
圆括号是一个功能非常丰富的分隔符:
定义方法时必须使用圆括号来包含所有的形参声明,
调用方法时也必须使用圆括号来传入实参值;
圆括号还可以将表达式中某个部分括成一个整体,保证这个部分优先计算;
圆括号还可以作为强制类型转换的运算符。
5. 空格
Java语言使用空格将一条语句分隔成不同部分**。Java语言是一门格式自由的语言,所以空格几乎可以出现在Java程序的任何地方,也可以出现任意多个空格,但不要使用空格把一个变量名隔开成两个,这将导致程序出错。
Java语言中的空格包含空格符**(Space)、制表符(Tab)和回车(Enter)等。
除此之外,Java源程序还会使用空格来合理缩进Java代码,从而提供更好的可读性。
6. 圆点
圆点.通常用作类对象和它的成员之间的分隔符,表明调用某个类或某个实例的指定成员。
成员包括成员变量、方法和内部类
3.2.2 Java9的标识符规则
什么是标识符
标识符就是用于给程序中变量、类、方法命名的符号。
java标识符规则
Java语言的标识符必须以字母、下画线(_)、美元符($)开头,后面可以跟任意数目的字母、数字、下画线()和美元符($)。
此处的字母并不局限于26个英文字母,甚至可以包含中文字符、日文字符等。
由于Java9支持Unicode 8.0字符集,因此Java的标识符可以使用Unicode 8.0所能表示的多种语言的字符。
**Java语言是区分大小写的**,因此abc和Abc是两个不同的标识符。
java标识符规则
使用标识符时,需要注意如下规则:
标识符可以由字母、数字、下画线_和美元符($)组成,其中数字不能打头。
标识符不能是Java``关键字和保留字,但可以包含关键字和保留字。
标识符不能包含空格
标识符只能包含美元符($),不能包含@、#等其他特殊字符。
3.2.3 Java关键字
Java语言中有一些具有特殊用途的单词被称为关键字(keyword),当定义标识符时,不要让标识符和关键字相同,否则将引起错误。例如,下面代码将无法通过编译:
1
2//试图定义一个名为 boolean的变量,但 boolean是关键字,不能作为标识符
int boolean;
所有的关键字都是小写的
Java的所有关键字都是小写的,TRUE、FALSE和NULL都不是Java关键字。
Java关键字汇总表
Java一共包含50个关键字,如下表所示
abstract
continue
for
new
switch
assert
default
if
package
synchronized
boolean
do
goto
private
this
break
double
implements
protected
throw
byte
else
import
public
throws
case
enum
instanceof
return
transient
catch
extends
int
short
try
char
final
interface
static
void
class
finally
long
strictfp
volatile
const
float
native
super
while
上面的50个关键字中,enum是从Java5新增的关键字,用于定义一个枚举。
保留字
而goto和const这两个关键字也被称为保留字(reserved Word),保留字的意思是,Java现在还未使用这两个关键字,但可能在未来的Java版本中使用这两个关键字;
标识符不能是直接量
不仅如此,Java还提供了三个特殊的直接量(literal):true、false和null。
Java语言的标识符也不能使用这三个特殊的直接量。