了解构成java源程序的标识符和关键字都是什么,掌握标识符的命名规则以及规范。能够识别标识符是否合法。
在编程语言中,标识符就是程序员自己规定的代表一定含义的单词(java源程序当中凡是程序员自己有权利修改的名字),比如类名,属性名,变量名等。
在java源程序当中,标识符可以用来标识:类名和接口名、变量名、方法名、常量名等。
命名规则是必须遵守的语法规则,当编写源程序的时候标识符违背命名规则,编译时会报错。那么java中的标识符命名规则有哪些呢?
● 标识符只能由数字、字母、下划线“_”、美元符号“$”组成,不能含有其它符号。
● 标识符不能以数字开始。
● java关键字和保留字不能作为标识符。
● 标识符严格区分大小写。
● 标识符理论上没有长度限制。
以上几点需要记忆。
当程序不遵守命名规范的时候,不影响程序的编译,但如果编写时没有遵守命名规范,也就是说大家都这么写,你不按照这种套路来,那你就属于比较另类的那一种,或者说是没有任何开发经验的程序员。我们会发现当遵守了命名规范之后,程序的可读性会变的很好,所以有的时候我们会觉得规范比规则更重要。那么java中标识符的命名规范有哪些呢?
● 见名知意。(看到这个单词就知道它表示什么)
● 遵循驼峰命名方式。(单词界线更明确)
● 类名、接口名首字母大写,后面每个单词首字母大写。
● 变量名、方法名首字母小写,后面每个单词首字母大写。
● 常量名全部大写,单词和单词之间使用“_”衔接。
以上的命名规范是大部分java开发团队通用的,但有一些团队可能要求更严格,和大家分享一段阿里巴巴的开发规约:
大家如果想看完整版,可以在网络上搜索。
Java关键字是编程语言里事先定义的,有特别意义的单词,Java语言中所有的关键字都是小写的英语单词。Java的关键字对Java的编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数等。
byte |
short |
int |
long |
float |
double |
boolean |
char |
if |
for |
else |
while |
do |
continue |
break |
public |
default |
protected |
private |
throw |
throws |
try |
catch |
final |
finally |
case |
switch |
transient |
package |
new |
static |
this |
true |
false |
native |
goto |
super |
extends |
implements |
import |
instanceof |
return |
synchronized |
void |
const |
class |
enum |
assert |
interface |
volatile |
● abstract:表明类或者成员方法具有抽象属性
● assert:断言,用来进行程序调试
● boolean:基本数据类型之一,声明布尔类型的关键字
● break:提前跳出一个块
● byte:基本数据类型之一,字节类型
● case:用在switch语句之中,表示其中的一个分支
● catch:用在异常处理中,用来捕捉异常
● char:基本数据类型之一,字符类型
● class:声明一个类
● const:保留关键字,没有具体含义
● continue:回到一个块的开始处
● default:默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现
● do:用在do-while循环结构中
● double:基本数据类型之一,双精度浮点数类型
● else:用在条件语句中,表明当条件不成立时的分支
● enum:枚举
● extends:表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口
● final:用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量
● finally:用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
● float:基本数据类型之一,单精度浮点数类型
● for:一种循环结构的引导词
● goto:保留关键字,没有具体含义
● if:条件语句的引导词
● implements:表明一个类实现了给定的接口
● import:表明要访问指定的类或包
● instanceof:用来测试一个对象是否是指定类型的实例对象
● int:基本数据类型之一,整数类型
● interface:接口
● long:基本数据类型之一,长整数类型
● native:用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
● new:用来创建新实例对象
● package:包
● private:一种访问控制方式:私用模式
● protected:一种访问控制方式:保护模式
● public:一种访问控制方式:共用模式
● return:从成员方法中返回数据
● short:基本数据类型之一,短整数类型
● static:表明具有静态属性
● strictfp:用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
● super:表明当前对象的父类型的引用或者父类型的构造方法
● switch:分支语句结构的引导词
● synchronized:表明一段代码需要同步执行
● this:指向当前实例对象的引用
● throw:抛出一个异常
● throws:声明在当前定义的成员方法中所有需要抛出的异常
● transient:声明不用序列化的成员域
● try:尝试一个可能抛出异常的程序块
● void:声明当前成员方法没有返回值
● volatile:表明两个或者多个变量必须同步地发生变化
● while:用在循环结构中
关键字不需要去死记硬背,随着后面内容的学习,每一天的积累,不断的敲代码,总有一天你会掌握所有的关键字。
关键字一律用小写字母标识,按其用途划分为如下几组。
1、用于数据类型。
用于数据类型的关键字有 boolean、byte、char、 double、 false、float、int、long、new、short、true、void、instanceof。
2、用于语句。
用于语句的关键字有break、case、 catch、 continue、 default 、do、 else、 for、 if、return、switch、try、 while、 finally、 throw、this、 super。
3、用于修饰
用于修饰的关键字有 abstract、final、native、private、 protected、public、static、synchronized、transient、 volatile。
4、用于方法、类、接口、包和异常。
用于方法、类、接口、包和异常的关键字有 class、 extends、 implements、interface、 package、import、throws。
还有些关键字,如cat、 future、 generic、innerr、 operator、 outer、rest、var等都是Java保留的没有意义的关键字。
另外,Java还有3个保留字:true、false、null。它们不是关键字,而是文字。包含Java定义的值。和关键字一样,它们也不可以作为标识符使用。