标识符与关键字

问题描述 投票:0回答:5

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

Keyword
identifier
有什么区别?谁能给我一个简单的解释,并另外提供一个或多个示例?

java assertions scjp
5个回答
7
投票

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

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

示例:

final
class
this
synchronized

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

示例:

int index;
String name;

index
name
是此处的有效标识符。
int
是关键字。

关键字不能用作标识符。


3
投票

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

int a = 3;

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

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

if
是一个关键字。它有特定的功能,不能用作变量名。此外,用于声明基本类型的单词也都是关键字,例如
int
char
long
boolean
等。您可以在此处

查看 Java 关键字的完整列表

2
投票

关键字是保留字,例如

new,static,public,if,else,..

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

int age = 26;
这里的

"age"
是标识符,而
int
是保留字。

以下示例无法编译:

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

你不能这样做,因为

"static"
"public"
keywords
,在这种情况下被用作
identifiers
,这是不允许的。


1
投票

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


0
投票

标识符用于命名 Java 程序的元素,例如类、接口、变量、方法、构造函数和参数。 有效名称以 Unicode 字母、下划线字符 (_) 或美元符号 ($) 开头。 Unicode 字母是英文字母 (a-z) 或 (A-Z) 或非英语语言的字母。 标识符的第二个和其余字母可以是 Unicode 字母、下划线、美元符号或数字 (0-9)。 美元符号字符由编译器内部标识符使用,应避免使用。

https://www.javadeploy.com/java-certification/module2/identifiers-keywords.jsp

© www.soinside.com 2019 - 2024. All rights reserved.