我是java的新手并且正在阅读一本书,并且遇到了这些问题:
“文字true
,false
和null
是小写的,而不是C ++语言中的大写。严格来说,这些不是关键字,而是文字。”
为什么这些是文字,以及某些关键字被称为文字需要什么要求??
答案 0 :(得分:6)
关键字是用作代码结构一部分的字词,例如for
或while
。它们改变了编译器处理代码块的方式,例如a for
告诉编译器重复执行指定范围内的代码,直到达到给定的退出条件。 class
关键字告诉编译器将指定范围内的所有内容视为特定类的一部分。关键字名称是受限制的,因此您不能将它们用作变量名称。
true
,false
和null
等文字是可以分配的值,但是它们的名称与关键字的限制方式相同,即您不能拥有变量称为true
或for
。它们构成表达式的一部分,但不会改变编译器处理代码的方式。
答案 1 :(得分:5)
true
,false
和null
是表达式。它们表示特殊的内置值,因此它们被视为文字(以及更传统的文字,例如123
和"xyz"
)。
for
,if
,class
等是关键字。它们将您的声明和语句传达给编译器,但它们不代表值。这就是为什么它们不是文字。
答案 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