【问题标题】:Identifer versus keyword标识符和关键字
【发布时间】:2012-09-22 19:27:17
【问题描述】:

我在 OCJP for Java6 的书中读到了带有断言的部分。我到达了它概述了如果将“断言”一词用作关键字或标识符时编译器如何反应的部分。

Keywordidentifier 有什么区别?谁能给我一个简单的解释,以及两者的一个或多个例子吗?

【问题讨论】:

  • 感谢所有回答。他们确实帮了我很多。

标签: java assertions scjp


【解决方案1】:

术语“关键字”和“标识符”不是 Java 特定的。

关键字是Java keyword list 中的保留字,为编译器提供指令。由于关键字是保留的,程序员不能将它们用于变量或方法名称。

例子:

final
class
this
synchronized

标识符是变量、方法、类、包和接口的名称。它们必须由字母、数字、下划线 _ 和美元符号 $ 组成。标识符只能以字母、下划线或美元符号开头。

例子:

int index;
String name;

indexname 是这里的有效标识符。 int 是关键字。

关键字不能用作标识符。

【讨论】:

    【解决方案2】:

    标识符是变量的名称。例如在

    int a = 3;
    

    a 将是标识符。另一方面,关键字是保留的(即您不能用关键字命名变量),是在语言中具有特定含义的预定义词。例如在

    if (a == 3)
        System.out.println("Hello World");
    

    if 是一个关键字。它具有特定的功能,不能用作变量名。此外,用于声明原始类型的词也都是关键字,例如intcharlongboolean 等。您可以看到 Java 关键字的完整列表here

    【讨论】:

      【解决方案3】:

      关键字是保留字,例如new,static,public,if,else,..

      标识符可以是任何变量的名称。

      int age = 26;
      

      "age" 这里是一个标识符,而int 是一个保留字。

      以下示例无法编译:

      String static = "hello";
      int public = 4;
      

      您不能这样做,因为"static""public"keywords,在这种情况下被用作identifiers,这是不允许的。

      【讨论】:

        【解决方案4】:

        我假设一个标识符是你自己的(函数名,变量名,...);关键字是“class”或“assert”或“while”——换句话说,是语言定义的标识符

        【讨论】:

          【解决方案5】:

          以下页面包含与 1Z0-803 OCA 认证相关的 Java 标识符和关键字列表。 Java Identifiers Keywords

          【讨论】:

          • 仅链接的答案在此站点上不受欢迎。您应该在答案正文中回答问题,必要时从网站上进行总结。
          猜你喜欢
          • 2015-02-12
          • 1970-01-01
          • 2015-01-07
          • 1970-01-01
          • 2022-10-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多