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