識別子
識別子について
変数名や後で出てくるメソッド名、クラス名のようにプログラマが自由に付けてよい名前のことを識別子(identifier)と呼びます。 ただし、識別子には次のような規則があります。
- 半角英数字、アンダースコア(_)、$などの組み合わせを使う。
- 長さには制限が無い。
- 1文字目に数字を使うことはできない。
- 大文字と小文字は区別される。
- Java自身のキーワード(予約語)は識別子として使えない。
abstract | default | if | package | synchronized |
assert | do | implements | private | this |
boolean | double | import | protected | throw |
break | else | instanceof | public | throws |
byte | extends | int | return | transient |
case | false | interface | short | true |
catch | final | long | static | try |
char | finally | native | strictfp | void |
class | float | new | super | volatile |
const | for | null | switch | while |
continue | goto |
例えば、次のものは識別子として使うことができます。
pi num2 old_value discountedPrice
一方、次のものは識別子として使うことができません。
case 2boys abc-de
識別子の命名法
識別子にも変数名、メソッド名、クラス名などさまざまなものがあります。 ここでは、それぞれの識別子について推奨される命名法をまとめておきたいと思います。 ただし、これらは今すぐに必要になる知識ではありません。 ざっと目を通しておいて、後で必要になったときに読み返していただければ結構です。
尚、ここで説明することはあくまでも「推奨」される命名法であって、守らなくてもコンパイルエラーにはなりません。 しかし、Javaの世界での原則なので、特別な理由が無い限りこれに従うべきでしょう。
ローカル変数と仮引数
- 小文字を使う。
- 分かりやすく短いものにする。単語を省略したものでもよい。単語の頭文字やそれらをつなげたものでもよい。
(例)
name battery len (lengthの略) temp (temporaryの略) r (raidiusの頭文字) br (BufferedReaderクラスのインスタンスへの参照) i (for文の中で、繰り返し回数をカウントするときによく使われる。)
フィールド(finalを除く)
- 基本的に小文字を使う。
- 単語を2個以上つなげる場合は、2つ目以降の単語の先頭文字を大文字にする。
(例)
name maxNumber
フィールド(final)
- 大文字を使う。
- 単語を2個以上つなげる場合は、間をアンダースコア(_)で区切る。
(例)
PI MAX_VALUE
メソッド
- 基本的に小文字を使う。
- 単語を2個以上つなげる場合は、2つ目以降の単語の先頭文字を大文字にする。
(例)
walk showStatus getName setName isPrime
クラス
- 基本的に小文字を使う。
- 単語の先頭文字は大文字にする。
(例)
Robot BigDecimal InputStreamReader