本文主要讲解构成 java 源程序的标识符和关键字都是什么,标识符的命名规则以及规范。帮助大家能够识别标识符是否合法。
1.标识符详解
(1)标识符都可以标识什么?
在 java 源程序当中,标识符可以用来标识:
类名,例如:Student 学生类、User 用户类、Product 商品类、Order 订单类等。
接口名,例如:Runable 可运行的、Comparable 可比较的等。
变量名,例如:name 名字、age 年龄、birth 生日、length 长度等。
方法名,例如:login 登录、logout 登出、eat 吃、drink 喝等。
常量名,例如:LOGIN_SUCCESS、ACCESS_TOKEN 等。
除了标识以上之外,还可以标识其他的,这里就不再列举,大家主要先把以上的了解 一下。总之标识符就是起名字。
(2)那到底什么是标识符呢?
在编程语言中,标识符就是程序员自己规定的代表一定含义的单词。简单一句话,Java 源程序当中凡是程序员自己有权利修改的名字都是标识符。举一个例子,如下所示:
public class Student {
int age;
public void setAge(int a){
age = a;
}
}
其中,Student就是一个类名,表示学生类;age是一个属性名,表示学生的年龄属性;setAge是一个方法名;a表示一个变量名,这些都是标识符。
注意:“ public static void main(String[] args){}”中的main也是标识符,表示主方法,但这个标识符不能修改,这是SUN公司规定好的。
(3)标识符命名规则
什么是命名规则呢?命名规则属于语法机制,必须遵守,不遵守命名规则表示不符合语法,这样的话,编译器会报错。
我们知道标识符主要用来起名字,那么可以随便起名吗?这个有没有什么命名规则呢?答案是有的,而且还得必须遵守,当编写源程序的时候如果标识符违背命名规则,编译时会报错。那么 Java中的标识符命名规则有哪些呢?请看以下规则:
① 标识符只能由数字、字母、下划线“_”、美元符号“$”组成,不能含有其它符号。
② 标识符不能以数字开始。
③ java 关键字和保留字不能作为标识符。
④ 标识符严格区分大小写。
⑤ 标识符理论上没有长度限制。
这里有一个问题,大家思考一下,创建一个Java文件,起名123.java可以吗?
这个是可以的,在Windows操作系统中,文件名叫做123.java是没有问题的,这里的123,其实并不是标识符,只是一个文件名。但我们在123.java源文件当中定义一个public的类时,123就是标识符,这样是不允许的。(这是为什么呢?这里不懂得可以参考一下之前的文章:public class 和 class 的区别)
(4)标识符命名规范
命名规则和命名规范有什么区别呢?
命名规则是语法,不遵守就会编译报错。命名规范只是说,大家尽量按照统一的规范来进行命名,不符合规范其实也可以,代码是可以编译通过的,但是你的代码风格和别人不一样,这个通常也是不允许的。简单的来说,规则类似于现实生活中的法律,而规范类似于现实生活中的道德。
统一按照规范进行的话,代码的可读性很好,代码很容易让其他开发人员理解。
那具体的命名规范有哪些呢?
① 见名知意:看到这个单词就知道它表示什么,增强程序的可读性,例如:Student 则表示学生类型,User 则表示用户类型;
② 遵循驼峰命名方式:可以很好的分隔单词,每个单词之间会划清界限,同样也是增强程序的可读性,例如:getName 则表示获取名字,UserService 则表示用户业务类;
③ 类名、接口名首字母大写,后面每个单词首字母大写,这是遵守驼峰命名方式的;
④ 变量名、方法名首字母小写,后面每个单词首字母大写,这也是遵守驼峰命名方式的;
⑤ 常量名全部大写,单词和单词之间使用“_”衔接,为了表示清楚含义,不要怕单词长,例如:INT_MAX_VALUE 则表示 int 类型最大值。

2.关键字详解
(1)什么是关键字?
在SUN公司开发Java语言的时候,提前定义好了一些具有特殊含义的单词,这些单词全部小写,具有特殊含义,不能用作标识符。
(2)关键字有哪些呢?
对于这些关键字来说,不需要单独花费时间去记忆,随着学习时间的积累,你会接触到所有的关键字。
(3)每个关键字都有什么含义呢?
以上关键字以及关键的大致含义,不需要区死记硬背,对于一门编程语言来说,多加练习才是最好的掌握方法。
(本文仅代表个人观点,不喜勿喷!)