杰瑞科技汇

哪些是合法的Java标识符?

Java 标识符的合法规则

一个合法的 Java 标识符必须遵守以下规则:

哪些是合法的Java标识符?-图1
(图片来源网络,侵删)
  1. 组成字符

    • 字母:所有 Unicode 字母,包括英文字母(a-z, A-Z)和中文、日文、俄文等。
    • 数字0-9
    • 货币符号: (美元符号)、 (人民币符号)、 (欧元符号) 等。
    • 连接符_ (下划线)。
  2. 不能以数字开头:标识符的第一个字符不能是数字。

  3. 不能是 Java 关键字或保留字:标识符不能是 Java 语言已经定义好的关键字(如 public, class, void, if 等)或用于特殊上下文的保留字(如 const, goto)。

  4. 区分大小写myVarmyvar 是两个完全不同的标识符。

    哪些是合法的Java标识符?-图2
    (图片来源网络,侵删)

合法的 Java 标识符示例

以下这些都是合法的 Java 标识符:

  • userName (驼峰命名法,推荐用于变量和方法名)
  • StudentID (帕斯卡命名法,推荐用于类名和接口名)
  • _privateVariable (以下划线开头,常用于表示内部或私有变量)
  • $price (以美元符号开头,合法但不常用)
  • count_123 (包含数字和下划线)
  • 年龄 (使用中文作为标识符,完全合法,但通常不推荐,以免造成团队协作困难)
  • (使用希腊字母,合法)
  • MAX_VALUE (常量命名,全大写,单词间用下划线分隔)

非法的 Java 标识符示例

以下这些都是非法的 Java 标识符,以及它们错误的原因:

  • 123abc (错误)不能以数字开头
  • user-name (错误)包含了连字符 ,Java 标识符不允许使用。
  • class (错误)是 Java 的关键字,不能用作标识符。
  • public static (错误)包含了空格,标识符必须是连续的字符。
  • my variable (错误)包含了空格
  • @home (错误)包含了 符号,不在允许的字符范围内。
  • true (错误)是 Java 的布尔字面量,虽然不是关键字,但也不能用作标识符。

总结表格

标识符示例 是否合法 原因
userName 合法 符合所有规则。
_count 合法 以下划线开头是允许的。
$value 合法 以美元符号开头是允许的。
变量名 合法 允许使用非英文字母。
2ndPlace 非法 不能以数字开头
my-variable 非法 包含了非法字符
if 非法 是 Java 关键字
public 非法 是 Java 关键字
user name 非法 包含了空格

编译器提示

当你尝试编译一个包含非法标识符的 Java 文件时,编译器会报错,并明确指出问题所在。

// 文件: Test.java
public class Test {
    public static void main(String[] args) {
        int 123number = 10; // 非法标识符
    }
}

编译时,你会看到类似以下的错误信息:

哪些是合法的Java标识符?-图3
(图片来源网络,侵删)
Test.java:4: error: not a statement
        int 123number = 10;
             ^
Test.java:4: error: ';' expected
        int 123number = 10;
                  ^

这个错误清晰地指出了在 123number 这个位置出现了问题。

希望这个详细的解释能帮助你完全理解 Java 标识符的规则!

分享:
扫描分享到社交APP
上一篇
下一篇