这是我在大学参加的 Java 测试中的一个问题
\n\n一、公共保护
\n\n二. $_
\n\n三._identi#ficador
\n\n我有。受保护
\n\n我想说我、II、我都是正确的。这个问题的正确答案是什么?
\n\n西班牙语问题的来源:Teniendo la siguiente lista de identificadores de Variables, \xc2\xbfCu\xc3\xa1l (es) es (son) v\xc3\xa1lido (s)?
\n来自java文档:
\n\n\n\n\n变量名称区分大小写。变量的名称可以是任何合法的标识符 \xe2\x80\x94无限长度的 Unicode 字母和数字序列,以字母、美元符号“$”或下划线字符开头” “。然而,约定是变量名称始终以字母开头,而不是“$”或“ ”。此外,按照惯例,\n 美元符号字符根本不会被使用。您可能会发现某些情况下自动生成的名称将包含美元符号,但您的变量名称应始终避免使用它。下划线字符也存在类似的约定;虽然从技术上来说,变量名称以“_”开头是合法的,但不鼓励这种做法。不允许有空格。后续字符可以是字母、数字、美元符号或下划线字符。约定(和常识)也适用于此规则。\n 为变量选择名称时,请使用完整的单词而不是\n 晦涩难懂的缩写。这样做将使您的代码更易于阅读和理解。在许多情况下,它还会使您的代码\n 自我记录;例如,名为 cadence、speed 和 gear 的字段比缩写版本(例如 s、c 和 g)更直观。另请记住,您选择的名称不能是关键字或保留字。
\n
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html
\n\n简而言之:是的,你是对的。您可以使用下划线、美元符号和字符来开始变量名称。变量名的第一个字母后面也可以使用数字。请注意,使用美元符号通常不是一个好习惯。
\n\n从你的评论来看,你说你的老师拒绝了“II”。根据你的问题,II 完全没问题(尝试一下,它会运行)。但是,如果您的测试问题询问哪些是“好的”变量名称,或者哪些变量名称遵循惯例,则 II 将被消除,如上面引用中所述。原因之一是美元符号不能构成可读的变量名称;包含它们是因为 Java 在内部创建使用美元符号的变量。
\n\n\n\n正如评论中指出的,IV 也不是一个好名字,因为小写版本“protected”是保留关键字。通过语法突出显示,您可能不会将两者混淆,但使用关键字变体作为变量名肯定是混淆未来读者的一种方法
\n