識別子とは、変数・メソッド・クラス・ラベルに付けられた名前です。 多くの他の言語と同様に、この名前の付け方には決まりがあります。
以下がその決まりです。
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→