我的一个孩子正在读高中的Java,并在他的一项测试中接受了此测试:
以下哪项是Java中有效的标识符?
一个。
123java
b。main
C。java1234
d。{abce
e。)whoot
他回答 b 并弄错了。
我看着这个问题,并争辩说这main
是 一个有效的标识符,应该是正确的。
我们看了一下Java
规范的标识符,它加强了这一点。我们还编写了一个示例程序,其中包含一个名为的变量main
以及一个方法。他创建了一个书面反驳,其中包括Java文档参考,测试程序,并且老师忽略了它,并说答案仍然不正确。
是main
有效的标识符吗?
public class J {
public static void main(String[] args)
{
String main = “The character sequence "main" is an identifier, not a keyword or reserved word.”;
System.out.println(main);
}
}
The character sequence "main" is an identifier, not a keyword or reserved word.
字符序列main
是标识符,而不是关键字或保留字。
JLS的相关部分是3.8:
一个 标识符 是无限长序列 的Java字母 和 爪哇位 ,其中第一个必须是一个 爪哇字母 。
识别码:
IdentifierChars,但不是关键字,BooleanLiteral或NullLiteral
标识符字符:
JavaLetter {JavaLetterOrDigit}
JavaLetter:
任何“ Java字母”的Unicode字符
JavaLetterOrDigit:
任何“ Java字母或数字”的Unicode字符
字符序列main
符合以上描述,不在3.9节的关键字列表中。
(java1234
出于相同的原因,字符序列也是一个标识符。)
我的一个孩子在高中学习Java,在他的一次考试中有这样的问题: 以下哪一个是Java中的有效标识符? a. b。 C。 D。 e. 他答b,答错了。 我研究了这个问题,认为是一个有效的标识符,它应该是正确的。 是有效的标识符吗?
问题内容: 我有一个查询,我需要将其作为动态查询来运行,以输出有意义的列名。例如,如果我直接运行查询,它将正确返回数据。但是,如果我使用下面的代码,它将显示: 下面是代码: 是因为加入了吗? 问题答案: 最后尝试以下方法: 如果没有括号,SQL Server会将变量的值假定为存储过程名称。 或者 而且这不应该是因为FULL JOIN。 但我希望您已经创建了临时表:#TrafficFinal,#Tr
问题内容: 我尝试使用Oracle数据库编写以下内部联接查询: 这给出了以下错误: 一个表的DDL为: 问题答案: 您的问题是那些有害的双引号。 Oracle SQL允许我们忽略数据库对象名称的大小写,只要我们创建它们时都使用大写的名称,或者不使用双引号即可。如果我们在脚本中使用大小写混合或小写并且将标识符括在双引号中,则当我们引用对象或其属性时,我们都被要求使用双引号和精确的大小写: tl; d
当我打开SQL开发人员时,相同的列以完全相同的名称存在。它发生在一些UAT和prod DB中,但在一些UAT数据库中工作。 请帮助我 另请说明以下例外情况的区别 < li>ORA-00904:"列名":无效的标识符 < li>ORA-00904:"表名"。" columnName ":无效标识符
ORA-00904:“strdef”:无效标识符 > Oracle数据库版本为: Oracle Database 11g Enterprise Edition版本11.2.0.4.0-64位Production PL/SQL版本11.2.0.4.0-Production“Core 11.2.0.4.0 Production”TNS for Linux:版本11.2.0.4.0-Production
我得到这个错误,而在Oracle数据库中执行查询: ORA-00904:“STRDEF”:无效标识符 > Oracle Database 11g Enterprise Edition 11.2.0.4.0版-64位生产PL/SQL 11.2.0.4.0版-生产“CORE 11.2.0.4.0生产”Linux版TNS:11.2.0.4.0版-生产NLSRTL 11.2.0.4.0版-生产 STRDE