哪个不是pytn合法标识符:java合法标识符(which of the following is not a legal

我正在读一本 sais 的电子书:

int :b;
int e#;

不是合法的标识符,但我不明白为什么“:”和“#”不是合法的令牌。你有什么想法吗?

7

因为Java Language Specification是这样说的:

标识符是 Java 字母和 Java 数字的无限长度序列,其中第一个必须是 Java 字母。

Identifier:
    IdentifierChars but not a Keyword or BooleanLiteral or NullLiteral
IdentifierChars:
    JavaLetter
    IdentifierChars JavaLetterOrDigit
JavaLetter:
    any Unicode character that is a Java letter (see below)
JavaLetterOrDigit:
    any Unicode character that is a Java letter-or-digit (see below)

“Java 字母”是方法 Character.isJavaIdentifierStart (int) 返回 true 的字符。

“Java 字母或数字”是方法 Character.isJavaIdentifierPart (int) 返回 true 的字符。

“Java 字母”包括大写和小写 ASCII 拉丁字母 A-Z(\ u0041-\ u005a)和 a-z(\ u0061-\ u007a),以及出于历史原因,ASCII 下划线(_或\ u005f)和美元符号($或\ u0024)。$字符应仅在机械生成的源代码中使用,或者很少在访问现有名称时使用。

“Java 数字”包括 ASCII 数字 0-9 (\ u0030-\ u0039)。

字母和数字可以从整个 Unicode 字符集中提取,该字符集支持当今世界上使用的大多数编写脚本,包括中文,日文和韩文的大集。这允许程序员在其程序中使用以其母语编写的标识符。

1

有效标识符在JLS #3.8中定义。

“Java 字母”是方法 Character.isJavaIdentifierStart (int) 返回 true 的字符。

“Java 字母或数字”是方法 Character.isJavaIdentifierPart (int) 返回 true 的字符。

这两行输出 false,这使得你的两个标识符无效:

System.out.println(Character.isJavaIdentifierPart(':'));
System.out.println(Character.isJavaIdentifierPart('#'));

请注意,有效的标识符包括 A-Z,a-z,_,$以及许多“外来”字符。例如,这是一个有效的标识符:

int a_£à胥;
0

JLS

An identifier is an unlimited-length sequence of Java letters and Java digits, 
the first of which must be a Java letter. 

..

The "Java letters" include uppercase and lowercase ASCII Latin letters A-Z (\u0041-\u005a), 
and a-z (\u0061-\u007a), and, for historical reasons, the ASCII underscore (_, or \u005f) 
and dollar sign ($, or \u0024). The $ character suld be used only in mechanically generated 
source code or, rarely, to access pre-existing names on legacy systems. 

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(444)
我是谁没有绝对安全的系统:有没有一个简单的替代“我是谁”和“logname”
上一篇
I deans:python:在列表中为i打印i
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(12条)