java中关键字和文字之间的区别

时间:2011-12-17 14:01:24

标签: java keyword literals

我是java的新手并且正在阅读一本书,并且遇到了这些问题:

“文字truefalsenull是小写的,而不是C ++语言中的大写。严格来说,这些不是关键字,而是文字。”

为什么这些是文字,以及某些关键字被称为文字需要什么要求??

4 个答案:

答案 0 :(得分:6)

关键字是用作代码结构一部分的字词,例如forwhile。它们改变了编译器处理代码块的方式,例如a for告诉编译器重复执行指定范围内的代码,直到达到给定的退出条件。 class关键字告诉编译器将指定范围内的所有内容视为特定类的一部分。关键字名称是受限制的,因此您不能将它们用作变量名称。

truefalsenull等文字是可以分配的值,但是它们的名称与关键字的限制方式相同,即您不能拥有变量称为truefor。它们构成表达式的一部分,但不会改变编译器处理代码的方式。

答案 1 :(得分:5)

truefalsenull是表达式。它们表示特殊的内置值,因此它们被视为文字(以及更传统的文字,例如123"xyz")。

forifclass等是关键字。它们将您的声明和语句传达给编译器,但它们不代表值。这就是为什么它们不是文字

答案 2 :(得分:0)

关键字在Java Language Specification #3.9中定义。 “真实”不在其中。文字在#3.10中定义,它们包括'true'。这些部分的文字完全回答了你的问题。

答案 3 :(得分:0)

文字是符号,而标识符是关键字。

嗯,不,但是一个例子可能会有所帮助:

12,1e3,0x4a,' a'," Hello \ n" - 文字 _debug,n,stdio,main,argc,printf - identifier