标识与关键字

我在书中读到OCJP for Java6这部分断言。 我到达了这一部分,它概述了如果将’assert’一词用作关键字或标识符,编译器将如何反应。

Keywordidentifier什么区别? 任何人都可以给我一个简单的解释,另外还有一个或多个例子吗?

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

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

例子:

 final class this synchronized 

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

例子:

 int index; String name; 

indexname是有效的标识符。 int是一个关键字。

关键字不能用作标识符。

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

 int a = 3; 

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

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

if是关键字。 它具有特定function,不能用作变量名。 此外,用于声明基本类型的单词也都是关键字,例如intcharlongboolean等。您可以在此处查看完整的Java关键字列表

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

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

 int age = 26; 

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

以下示例将无法编译:

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

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

我假设一个标识符是你自己的(函数名,var名,……); 并且关键字是’class’或’assert’或’while’ – 换句话说,语言定义的标识符

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