前言

标识符的认识和熟练运用对程序员来说很重要,标识符是程序员为程序组件起的名字。起名字是一门艺术,这一点对标识符也一 样。一个好的标识符命名风格和习惯,能够很大程度上增加代码的可读性。

.

Java 标识符的命名规则。在 Java 中对标识符命名有三条规则。如果我们在定义的标识符的时候违背了语法规则,编 译将出现错误。

.

标识符命名的规则如下:

.

一、Java 标识符由字母、数字、下划线(_)、货币符号($)组成,其中数字不能开头。 要注意的是,所谓“字母”,从技术上说,是一个 unicode 字符,包括中文字符。换句话说,Java 标识符能够使用中文。例如,你可以写一个类叫做“学校”,写一个变量叫做“老师”等等,Java 程序也可以识别。但是在实际编程中,为了避免一些不必要的麻烦,Java 程序员都会使用英文字母起名。对大部分程序员来说,代码里面出现中文总觉得怪怪的。 以下的标识符都是合法的: abc _score a$b 。但以下的标识符是非法的: a#(出现了非法字符 #) 2a (不能以数字开头)

.

二、Java 标识符区分大小写,也就是说,helloWorld,HelloWorld,HELLOWORLD 这三个标识符,对于 Java 来说是 完全不同的三个名字。

.

如图:建议类名每个首字母大写,增加记忆效率。

public class AiSi {

	public static void main(String[] args) {
		......

	}

}

.

标识符不能与 Java 关键字重名,下面是 Java 中的一些关键字:

abstract

assert

do

transient

finally

native

public

interface

static

void

throw

throws

break

class

float

private

enum

volatile

super

new

instanceof

implements

extends

null

return

if

else

case

switch

for

import

protected

package

synchronized

default

boolean

double

true

false

char

byte

short

int

long

catch

while

continue

try

final

this

这些是java中常见的关键字,当然 java 中还有其他很多关键字,不用着急,这些关键字都可以在Java学习中慢慢的积累。

.

此外,Java 中有两个单词:goto / const,他们在 Java 中没有特殊的含义,但是由于这两 个单词在其他语言中(例如 C 语言)有特殊含义,为了避免其他语言的程序员学习 Java 时 产生混淆和误会,Java 语言不允许程序员使用这两个单词。

.

也就是说,虽然在 Java 语言中。 goto 和 const 这两个单词没有特殊含义,但是程序员在给程序组件起名字时,依然不能用这 两个单词。严格的说,“true”和“false”也不能称为 Java 语言的关键字。这两个单词是 boolean 类 型的字面值。

.

除了语法规则之外,还有一些标识符命名方面的习惯。违反了这些习惯的标识符可能是符合语法,从而能够编译通过的。但使用了这样的标识符,会被认为是不良好,不规范的。

.

在 Java 语言中,标识符命名要注意两个大习惯:

一、望文生义 这指的是说,标识符的名字应当起的有意义,最好能通过名字,让人一眼就能看出标识 符的作用。例如,变量 totalScore 肯定是用来统计总分,函数 addStudent 肯定是用来增加一个学生。这样的名字是比较好的名字。它们很容易让人理解这个标识符的意义,从而提高程 序的可读性。

.

二、大小写规范 相比上一条规范,这一条显得非常教条。Java 语言中,对于不同的程序组件,有着不同 的大小写规范。

.

罗列一下:

.

包名:全小写,例如 book.corejava 。


类名:每个单词首字母大写,例如 HelloWorld 。


变量/函数名:首单词小写,后面每个单词首字母大,例如 helloWorld 。


常量名:全大写,单词之间用下划线分隔 ,例如 HELLO_WORLD 。


.

我们可以参考 Java SE 类库中的命名方式,会发现所有的标识符都符合上述两个习惯。 这无疑是 Java 世界中约定俗成的,所有程序员都恪守的准则。如果你是一个 Java 初学者, 也请从一开始就养成良好的标识符命名习惯,千万要重视它们!