在高级编程语言中,起到标识作用的符号被称为标识符(identifier),如:类名、方法名、变量名、参数名等等。
Java 语言中标识符必须由 Java 字母和数字组成,长度无限制。具体规则如下:
标识符可以包含 Java 字母、下划线(_)、美元符($)、数字(0~9)
标识符必须以 Java 字母、下划线(_)或美元符($)开头
标识符不能使用 Java 关键字
注意:由于 Java 字母的涵盖范围很广,几乎包含了当前世界上各种语言中绝大多数的字符。因此,为了方便理解,上面的 Java 字母理解为拉丁字母(a-z 和 A-Z)即可。
合法的 Java 标识符如下:
name
Name
NAME
getName
$name
$4Name
重点:Java 标识符的拼写是大小写敏感的,即 NAME 和 name 是两个完全不同的标识符。
Java 中怎样判断一个字符是否可以用作 Java 的标识符?可以使用 Character 的如下方法:
static boolean isJavaIdentifierPart(char ch) 确定指定字符是否可以是 Java 标识符中首字符以外的部分。
static boolean isJavaIdentifierPart(int codePoint) 确定字符(Unicode 代码点)是否可以是 Java 标识符中首字符以外的部分。
static boolean isJavaIdentifierStart(char ch) 确定是否允许将指定字符作为 Java 标识符中的首字符。
static boolean isJavaIdentifierStart(int codePoint) 确定是否允许将字符(Unicode 代码点)作为 Java 标识符中的首字符。
判断指定的字符是否可以当做标识符的首字母,代码如下:
/** * 验证 isJavaIdentifierStart() 方法的用法 * @author hxstrive.com 2022/7/23 */ public class Demo3 { public static void main(String[] args) { // 判断哪些字符串可用于标识符首字母 System.out.println(Character.isJavaIdentifierStart('A')); System.out.println(Character.isJavaIdentifierStart('a')); System.out.println(Character.isJavaIdentifierStart('$')); System.out.println(Character.isJavaIdentifierStart('_')); System.out.println(Character.isJavaIdentifierStart('1')); } }
输出如下:
true true true true false
从上面输出可以得知,字母、美元符($)和下划线(_)可以作为标识符首字母,而数字不能作为标识符首字母。