前言
标识符的认识和熟练运用对程序员来说很重要,标识符是程序员为程序组件起的名字。起名字是一门艺术,这一点对标识符也一 样。一个好的标识符命名风格和习惯,能够很大程度上增加代码的可读性。
.
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 初学者, 也请从一开始就养成良好的标识符命名习惯,千万要重视它们!