Developer

【はじめてのJava】識別子【データ型と変数編】
2020.10.01
Lv1

【はじめてのJava】識別子【データ型と変数編】

識別子とキーワード

今回は「識別子」と「キーワード」の二つについて解説していきます

目次


識別子

識別子とはソースコードを記述する際に変数などを区別するために付けるものです。変数の名前のことだと思って問題ありません。
メソッドやクラスの識別にも使います。(メソッドやクラスの詳細については。別の記事で紹介します。)
変数に付けた識別子は変数名とも言います。同様に、メソッドの場合はメソッド名、クラスの場合はクラス名です。

コードを記述する上で、新しく変数やメソッド、クラスを作成する際には識別子を定義します。

int number; //numberが識別子
String message; //messageが識別子
int age = 20; //ageが識別子

識別子の命名規則

識別子を定義する際には、いくつかの規則に従わなければなりません。
以下が、識別子を定義する際の規則です。

  • 識別子の1文字目には半角英字(a、A等)、半角ドル記号($)、半角アンダースコア(_)のみが使用可能
  • 2文字目以降は上記に加えて数字も使用可能
  • キーワード(後述)は使用不可

これらの規則に従ってさえいれば、識別子を定義することが出来ます。
識別子を定義する際は、上記の規則に気を付けて定義しましょう。

識別子において、英字の大文字と小文字は区別されるので注意が必要です。
例えば「abc」「ABC」「AbC」は、異なる識別子として扱われます。

予約語

予約語とは、言語内で既に役割を持ち、識別子として指定することが出来ない文字列のことを指します。
プログラミング言語ごとに予約語が存在し、Javaでは約50個の予約語が存在します。
以下に、Javaにおける予約語を記述しておきます。

abstract continue for new switch
assert defoult if package synchronized
boolean do goto private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while
_

予約語と作成する識別子の大文字小文字が異なっている場合は識別して利用可能です。
例えば、「public」は予約語なので識別子として使えませんが、「pUblic」「Public」は識別子として使用可能です。

Javaの資格試験では識別子として使用可能かどうかを問う問題がよく出題されます。
一度に全ての予約語を覚えるのは難しいと思いますので、まずは「識別子としてとして設定できないものがある」ということを認識し、よく記述する予約語から少しずつ覚えていくと良いでしょう。

また、予約語ではありませんが、null、true、falseも識別子として使用できません。
これは、null、true、falseはリテラルというものに含まれているためです。リテラルについては別項目で紹介予定です。

意外かもしれませんが、javaは予約語に入っていないため、識別子として利用可能です。これも資格試験ではよく聞かれます。
なお、実際にjavaという識別子を付けると混乱が生じる可能性が高いため、付けることはお勧めしません。

また、プログラミング言語には、識別子の名づけをする際の指標となる命名規則というものがあります。
命名規則については、以下の記事にて紹介しております。

【はじめてのJava】識別子命名時の慣例【コラム】


キーワード

キーワードとはなにかしらの意味・役割があらかじめ割り当てられている単語のことです。
予約語と意味がとても似ていますが、厳密には異なるので混同しないように注意しましょう。

Javaにおいてはこのキーワードとして設定された単語をそのまま予約語として扱う仕様となっているので、Javaのみに限って言えばこれら二つは同じものを示すことになります。


ポイント

識別子を命名する際にはルールに従って名前を付けましょう。
また、識別子の名前はだれが読んでもある程度の予測がつくような分かりやすい名前を付けるように心がけましょう。


はじめてのJavaシリーズの記事一覧はこちら
シリーズ全記事一覧
環境構築編
プログラムの作り方編


java 11 の練習問題一覧はこちら