識別子の付け方

識別子とは、変数・メソッド・クラス・ラベルに付けられた名前です。 多くの他の言語と同様に、この名前の付け方には決まりがあります。

以下がその決まりです。
  • 51個のキーワード・予約語以外でなければならない
  • 先頭文字は、英字(A〜Z, a〜z) , 下線(_) , $ でなければならない
  • それ以外は、英字(A〜Z, a〜z) , 下線(_) , $ , 数字(0〜9) でなければならない


    Hoge2.java
    1:
    2:
    3:
    4:
    5:
    public class Hoge2{
      int    a, b, A, B;   // 大文字/小文字は区別されるのでOK
      boolean _a, $b;   // 先頭が _ や $ でもOK
      char  _1, $2, _$3;   // 英字が無くてもOK
    }
     これは問題ありません。

    Hoge2b.java
    1:
    2:
    3:
    4:
    5:
    6:
    7:
    8:
    9:
    10:
    11:
    12:
    13:
    14:
    15:
    16:
    public class Hoge2b{
      void _$1_(short $2)   // メソッド名でも命名規則は同様
      {
        $brk: for(int i=0; i<10; i++){   // ラベル名でも命名規則は同様
          for(int j=0; j<10; j++){
            if(i==5 && j==5)
              break $brk;
          }
        }
      }
    }

    class $$${   // クラス名でも命名規則は同様
      int $$$;   // 変数名がクラス名と同じでもOK
      byte $break, _int, Else;   // 予約語と1字でも違えばOK
    }
     これも問題ありません。
     ただし、予約語・キーワードと間違えやすい名前を付けるのは良いとはいえません。



      < 問題 >

    Hoge2c.java
    1:
    2:
    3:
    4:
    5:
    6:
    7:
    public class Hoge2c{   
      int Int;
      int Integer;
      boolean elseif;
      char @char1;
      byte do;
    }
     コンパイルエラーとなるのは何行目でしょう。(答えは複数)

      A. 2行目
      B. 3行目
      C. 4行目
      D. 5行目
      E. 6行目    


    ↑BACK  ←PREV  NEXT→