标识与关键字
我在书中读到OCJP for Java6这部分断言。 我到达了这一部分,它概述了如果将’assert’一词用作关键字或标识符,编译器将如何反应。
Keyword
和identifier
什么区别? 任何人都可以给我一个简单的解释,另外还有一个或多个例子吗?
术语“关键字”和“标识符”不是Java特定的。
关键字是来自Java关键字列表的保留字,为编译器提供指令。 由于关键字是保留的,程序员不能将它们用于变量或方法名称。
例子:
final class this synchronized
标识符是变量,方法,类,包和接口的名称。 它们必须由字母,数字,下划线和美元符号$组成。 标识符只能以字母,下划线或美元符号开头。
例子:
int index; String name;
index
和name
是有效的标识符。 int
是一个关键字。
关键字不能用作标识符。
标识符是变量的名称。 例如在
int a = 3;
a
标识符。 另一方面,关键字是保留的(即,您不能使用关键字命名变量),预定义的单词在语言中具有特定含义。 例如在
if (a == 3) System.out.println("Hello World");
if
是关键字。 它具有特定function,不能用作变量名。 此外,用于声明基本类型的单词也都是关键字,例如int
, char
, long
, boolean
等。您可以在此处查看完整的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标识符关键字
- 使用Jackson自定义JSON反序列化
- 如何在JSF中以水平方向显示数据作为Asp.Net中的转发器?
- 使用正则表达式在字符串中获取最短的组
- 如何将mat(OpenCV)转换为图像(JavaFX)?
- ArrayLists的速度是数组的两倍多吗?
- java.lang.StringIndexOutOfBoundsException:字符串索引超出范围
- 在2D数组中查找有效的邻居
- NoClassDefFoundError:javax / inject / Provider和ClassNotFoundException:javax.inject.Provider
- 如何在Java中处理StackOverflowError?