「3.8. 識別子」(2012/09/05 (水) 22:34:42) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*[[3. 字句構造]]
**[[3.1. Unicode]]
**[[3.2. 字句変換]]
**[[3.3. Unicodeエスケープ]]
**[[3.4. 行終端子]]
**[[3.5. 入力要素とトークン]]
**[[3.6. 空白]]
**[[3.7. コメント]]
**3.8. 識別子
識別子(identifier)とは&i(){Java文字}で始まり&i(){Java文字や数字}が続く長さに制限のない列です。
#divstyle(background-color:#f0f0f0;border:1px solid red;padding 4px){
&i(){Identifier}:
&i(){IdentifierChars} but not a &i(){Keyword} or &i(){BooleanLiteral} or &i(){NullLiteral}
&i(){IdentifierChars}:
&i(){JavaLetter}
&i(){IdentifierChars} &i(){JavaLetterOrDigit}
&i(){JavaLetter}:
any Unicode character that is a Java letter (see below)
&i(){JavaLetterOrDigit}:
any Unicode character that is a Java letter-or-digit (see below)
}
"&i(){Java文字}"とは、メソッド&tt(){Character.isJavaIdentifierStart(int)}が&tt(){true}を返す文字です.
"&i(){Java文字や数字}"とは、メソッド&tt(){Character.isJavaIdentifierPart(int)}が&tt(){true}を返す文字です.
&i(){&small(){"Java文字"にはASCIIラテン大文字A~Z(&tt(){\u0041}~&tt(){\u005a})および小文字a~z(&tt(){\u0061}~&tt(){\u007a})と、歴史的理由から、ASCIIアンダースコア(_、&tt(){\u005f})とドル記号($、&tt(){\u0024})が含まれます。$は機械的に生成されたソースコードの中でのみ使用されるべきです。またまれに、レガシーシステムの既存名へのアクセスでも使われます。}}
&i(){&small(){"Java数字"にはASCII数字0~9(&tt(){\u0030}~&tt(){\u0039})が含まれます.}}
文字と数字はUnicode文字集合のどの文字をとってきても構いません。Unicode文字集合は今日の世界中のほんどの文章で使われる文字、中国語や日本語、韓国語の大きな集合を含む、をサポートしています。これによりプログラマーがプログラム中の識別子を母国語で表記できます。
&bold(){[[キーワード>3.9. キーワード]]や[[ブールリテラル>3.10.3. ブールリテラル]]、[[ヌルリテラル>3.10.7. ヌルリテラル]]と同じスペル(Unicode文字列で)の識別子は使えません。}
2つの識別子は等価すなわちどの文字や数字のUnicode文字も同じである場合にのみ同一とします。外観上同じに見える識別子でも異なるものである場合があります。
#divstyle(background-color:#f0f0ff;border:1px solid black;padding 4px){
&i(){&small(){例えば、LATIN CAPITAL LETTER A (A、\u0041)、LATIN SMALL LETTER A (a、\u0061)、GREEK CAPITAL LETTER ALPHA (A, \u0391)、CYRILLIC SMALL LETTER A (a、 \u0430)およびMATHEMATICAL BOLD ITALIC SMALL A (a、\ud835\udc82)で表される1文字の識別子は全て互いに異なります。}}
&i(){&small(){Unicode複合文字(composite character)はそれと等しい分解した文字列とは異なる識別子と判断します。例えば、LATIN CAPITAL LETTER A ACUTE (Á、\u00c1)という識別子はLATIN CAPITAL LETTER A (A、\u0041)とそれに続くNON-SPACING ACUTE (´、\u0301)という識別子とは異なります。Unicode規格の3.11節"Normalization Forms"を参照してください。}}
}
#divstyle(background-color:#f0f0ff;border:1px solid black;padding 4px){
&i(){&small(){以下は識別子の例です。:}}
-&small(){&tt(){String}}
-&small(){&tt(){i3}}
-&small(){&tt(){αρετη}}
-&small(){&tt(){MAX_VALUE}}
-&small(){&tt(){isLetterOrDigit}}
}
**[[3.9. キーワード]]
**[[3.10. リテラル]]
**[[3.11. 分離子]]
**[[3.12. 演算子]]
*[[3. 字句構造]]
**[[3.1. Unicode]]
**[[3.2. 字句変換]]
**[[3.3. Unicodeエスケープ]]
**[[3.4. 行終端子]]
**[[3.5. 入力要素とトークン]]
**[[3.6. 空白]]
**[[3.7. コメント]]
**3.8. 識別子
&i(){識別子(identifier)}とは&i(){Java文字}で始まり&i(){Java文字や数字}が続く長さに制限のない列です。
#divstyle(background-color:#f0f0f0;border:1px solid red;padding 4px){
&i(){Identifier}:
&i(){IdentifierChars} but not a &i(){Keyword} or &i(){BooleanLiteral} or &i(){NullLiteral}
&i(){IdentifierChars}:
&i(){JavaLetter}
&i(){IdentifierChars} &i(){JavaLetterOrDigit}
&i(){JavaLetter}:
any Unicode character that is a Java letter (see below)
&i(){JavaLetterOrDigit}:
any Unicode character that is a Java letter-or-digit (see below)
}
"&i(){Java文字}"とは、メソッド&tt(){Character.isJavaIdentifierStart(int)}が&tt(){true}を返す文字です.
"&i(){Java文字や数字}"とは、メソッド&tt(){Character.isJavaIdentifierPart(int)}が&tt(){true}を返す文字です.
&i(){&small(){"Java文字"にはASCIIラテン大文字A~Z(&tt(){\u0041}~&tt(){\u005a})および小文字a~z(&tt(){\u0061}~&tt(){\u007a})と、歴史的理由から、ASCIIアンダースコア(_、&tt(){\u005f})とドル記号($、&tt(){\u0024})が含まれます。$は機械的に生成されたソースコードの中でのみ使用されるべきです。またまれに、レガシーシステムの既存名へのアクセスでも使われます。}}
&i(){&small(){"Java数字"にはASCII数字0~9(&tt(){\u0030}~&tt(){\u0039})が含まれます.}}
文字と数字はUnicode文字集合のどの文字をとってきても構いません。Unicode文字集合は今日の世界中のほんどの文章で使われる文字、中国語や日本語、韓国語の大きな集合を含む、をサポートしています。これによりプログラマーがプログラム中の識別子を母国語で表記できます。
&bold(){[[キーワード>3.9. キーワード]]や[[ブールリテラル>3.10.3. ブールリテラル]]、[[ヌルリテラル>3.10.7. ヌルリテラル]]と同じスペル(Unicode文字列で)の識別子は使えません。}
2つの識別子は等価すなわちどの文字や数字のUnicode文字も同じである場合にのみ同一とします。外観上同じに見える識別子でも異なるものである場合があります。
#divstyle(background-color:#f0f0ff;border:1px solid black;padding 4px){
&i(){&small(){例えば、LATIN CAPITAL LETTER A (A、\u0041)、LATIN SMALL LETTER A (a、\u0061)、GREEK CAPITAL LETTER ALPHA (A, \u0391)、CYRILLIC SMALL LETTER A (a、 \u0430)およびMATHEMATICAL BOLD ITALIC SMALL A (a、\ud835\udc82)で表される1文字の識別子は全て互いに異なります。}}
&i(){&small(){Unicode複合文字(composite character)はそれと等しい分解した文字列とは異なる識別子と判断します。例えば、LATIN CAPITAL LETTER A ACUTE (Á、\u00c1)という識別子はLATIN CAPITAL LETTER A (A、\u0041)とそれに続くNON-SPACING ACUTE (´、\u0301)という識別子とは異なります。Unicode規格の3.11節"Normalization Forms"を参照してください。}}
}
#divstyle(background-color:#f0f0ff;border:1px solid black;padding 4px){
&i(){&small(){以下は識別子の例です。:}}
-&small(){&tt(){String}}
-&small(){&tt(){i3}}
-&small(){&tt(){αρετη}}
-&small(){&tt(){MAX_VALUE}}
-&small(){&tt(){isLetterOrDigit}}
}
**[[3.9. キーワード]]
**[[3.10. リテラル]]
**[[3.11. 分離子]]
**[[3.12. 演算子]]
表示オプション
横に並べて表示:
変化行の前後のみ表示: