識別子

識別子について

変数名や後で出てくるメソッド名、クラス名のようにプログラマが自由に付けてよい名前のことを識別子(identifier)と呼びます。 ただし、識別子には次のような規則があります。

  • 半角英数字、アンダースコア(_)、$などの組み合わせを使う。
  • 長さには制限が無い。
  • 1文字目に数字を使うことはできない。
  • 大文字と小文字は区別される。
  • Java自身のキーワード(予約語)は識別子として使えない。
表 4-2 : 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