1、在java程序当中,使用EditPlus工具进行代码编写的时候,有一些单词是蓝色,有的是红色,有的绿色,有的是黑色,有的是紫色,有的是粉色…
2、注意:在java源代码当中,在EditPlus工具中显示的高亮颜色为黑色时,
这个单词属于标识符。
3、标识符可以标识什么?
- 类名
- 方法名
- 变量名
- 接口名
- 常量名
…
4、到底什么是标识符呢?
凡是程序员自己有权利命名的单词都是标识符。
5、标识符可以随意编写吗,有命名规则吗?命名规则是什么?
- 命名规则属于语法机制,必须遵守,不遵守命名规则标识不符合语法,
- 规则1:标识符只能由数字、字母(包括中文)、下划线_、美元符号$组成,不能含有其它符号
- 规则2:标识符不能以数字开头
- 规则3:关键字不能做标识符。例如:public class static void 这些蓝色的字体都是关键字,关键字是不能做标识符的。
- 规则4:标识符是严格区分大小写的。大写A和小写a不一样。
- 规则5:标识符理论上是没有长度限制的。
6、标识符除了命名规则之外,还有命名规范:
- 命名规则和命名规范有什么区别?
- 命名规则是语法,不遵守就会编译报错。
- 命名规范只是说,大家尽量按照统一的规范来进行命名,不符合规范也行,
- 代码是可以编译通过的,但是你的代码风格和大家不一样,这个通常也是不允许的。
- 规则类似于:现实世界中的法律。
- 规范类似于:现实世界中的道德。
- 一按照规范进行的话,代码的可读性很好。
- 代码很容易让其它开发人员理解。
- 具体的命名规范是哪些?
- 规范1:见名知意(这个标识符在起名的时候,最好一看这个单词就知道啥意思。)
- 规范2:遵循驼峰命名方式,什么是驼峰(一高一低,一高一低…)
驼峰有利于单词与单词之间很好的进行分隔
BiaoShiFuTest,这个很好,一眼就能看出来是4个单词。 - 规范3:类名、接口名有特殊要求
类名和接口名首字母大写,后面每个单词首字母大写。
StudentTest、UserTest ,这是类名、接口名。 - 规范4:变量名、方法名有特殊要求
变量名和方法名首字母小写,后面每个单词首字母大写。
nianLing(NianLing这样就不符合了。)
mingZi(MingZi这样也不符合了。) - 规范5:所有“常量”名:全部大写,并且单词和单词之间采用下划线衔接。
USER_AGE :用户年龄
MATH_PI:固定不变的常量3.1415926…
public class Test{
// main是一个方法的名称,属于标识符
// 但是这个标识符不能修改,因为这个main是SUN固定死的。
public static void main(String[] args){
}
//doSome是一个方法名,可以改成其他的名字
public static void doSome(){
// k是一个变量名
int k = 100;
// nianLing 是一个变量名
int nianLing = 20;
}
}
/*
编译报错,错误信息是:
错误: 需要<标识符>
错误原因:编译器检测到class这个单词,那么编译器会从class这个
单词后面找类名,
而类名是标识符,编译器找了半天没有找到标识符,
因为123ABC不是标识符,所以编译器提示的错误信息是:需要<标识符>
解决办法:将123ABC修改为合法的标识符。
*/
class Y123ABC{
}
// 类名是标识符,标识符“中”不能有空格
/*
编译器错误信息是:
错误: 需要'{'
编译器检测到class,然后找class后面的标识符,编译器找到了一个合法的标识符
叫做“Hello”,然后编译器继续往后找“{”,结果没有找到“{”,所以报错了。
解决办法:
办法1:是把World删除
办法2:把空格删除
*/
/*
class Hello World{
}
*/
// 虽然java中的标识符严格区分大小写
// 但是对于类名来说,如果一个java源文件中同时出现了:A类和a类
// 那么谁在前就生成谁。大家以后最好不要让类名“相同”。
// 最好类名是不同的。
class HelloWorld2{
}
class helloWorld2{
}