2019.12.10

Javaプログラミング

変数名の付け方

Java変数に付ける名前は識別子と言い、以下のルールに従います。

・全てのUnicode文字が利用可能

英数字やアンダーバー'_'を使うことが一般的です。記号は'_'と'$'しか使用できません。

・文字数制限なし

実際には長すぎる名前は使いません。

・大文字と小文字は区別される

'size'と'Size'は別の名前になります。

・先頭文字に数字は使えない

'1a'、'2_x'は数字から始まっているので使用できません。

予約語定数は使用できない

Javaソースコード - ルールに従った変数名を付けている例

以下は、いろいろな名前で変数を宣言したJavaソースコードです。これは、上記のルールに従った変数名を付けているのでコンパイルに成功します。

ValName_OK.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
public class ValName_OK {
	public static void main( String[] args ) {
		// 使用可能な変数(コンパイルに成功)

		// アルファベットだけの変数
		int a;
		int aaaaaaaaaaaaaaaaaaaa;
		int abcdefg;
		int Abcdefg;
		int numData;

		// アルファベットと数字の変数
		int x1;
		int xyz2;
		int q2w3;

		// アルファベットと数字と記号の変数
		int aaa_123;
		int bbb$123;
		int _ccc567;

		// 漢字を使った変数
		int 変数;
		int 個数_1;

		// 予約語の最初の文字を大文字にした変数
		int If;
		int For;
		int Switch;
		int Public;

		// 定数の最初の文字を大文字にした変数
		int False;
		int True;
		int Null;
	}
}

このソースコードを実行しても何も起きません。

ここから順番にソースコードを解説していきます。このソースは、命名ルールに従った変数名を宣言しているのでコンパイルに成功します。

005
006
007
008
009
010
		// アルファベットだけの変数
		int a;
		int aaaaaaaaaaaaaaaaaaaa;
		int abcdefg;
		int Abcdefg;
		int numData;

半角のアルファベットだけの名前を使った変数を宣言しています。変数名は小文字と大文字を区別するので、abcdefgAbcdefgは別の変数として扱われます。

012
013
014
015
		// アルファベットと数字の変数
		int x1;
		int xyz2;
		int q2w3;

半角のアルファベットと半角の数字を使った変数を宣言しています。先頭の文字が数字でなければ変数名として使うことができます。

017
018
019
020
		// アルファベットと数字と記号の変数
		int aaa_123;
		int bbb$123;
		int _ccc567;

半角のアルファベットと数字と記号を使った変数を宣言しています。記号は'_'と'$'を使用することができますが、一般的に'$'は使いません。

022
023
024
		// 漢字を使った変数
		int 変数;
		int 個数_1;

漢字を使った変数を宣言しています。このような変数名でもコンパイルには成功しますが、一般的には漢字を変数名に使うことはありません。

026
027
028
029
030
		// 予約語の最初の文字を大文字にした変数
		int If;
		int For;
		int Switch;
		int Public;

予約語の先頭文字を大文字に変更した変数を宣言しています。if文for文switch文、publicは予約語のため変数名として使えませんが、先頭の文字を大文字にすることで予約語とは区別されます。実際にプログラムを作成するときは、紛らわしくなるのでこのような変数名の使用を避けてください。

032
033
034
035
		// 定数の最初の文字を大文字にした変数
		int False;
		int True;
		int Null;

定数の先頭文字を大文字に変更した変数を宣言しています。truefalsenull定数なので変数名として使えませんが、先頭の文字を大文字にすることで予約語とは区別されます。予約語と同様、このような変数名の使用を避けてください。

Javaソースコード - ルールに従っていない変数名を付けている例

次に、命名ルールに従わない変数名を宣言しているソースコードで、コンパイルに失敗します。

ValName_NG.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
public class ValName_NG {
	public static void main( String[] args ) {
		// 使用できない変数(コンパイルに失敗)

		// 最初の文字が数字
		int 1a;
		int 12345;
		int 678_aaa;

		// 予約語
		int if;
		int for;
		int switch;
		int public;

		// 定数
		int false;
		int true;
		int null;
	}
}

ここから、変数名を順番にみていきます。

005
006
007
008
		// 最初の文字が数字
		int 1a;
		int 12345;
		int 678_aaa;

先頭の文字が数字の変数を宣言しようとしています。先頭が数字の変数は使用できないのでコンパイルに失敗します。

010
011
012
013
014
		// 予約語
		int if;
		int for;
		int switch;
		int public;

予約語と同じ名前の変数を宣言しようとしています。予約語変数名として使えないのでコンパイルに失敗します。

016
017
018
019
		// 定数
		int false;
		int true;
		int null;

定数と同じ名前の変数を宣言しようとしています。定数変数名として使えないのでコンパイルに失敗します。

以上です。

関連コンテンツ

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

プログラミングで使う変数って何?

2020.03.23

数値型の変数の最小値・最大値がプログラムで取得でします。

2016.01.20

数値として表せない計算結果はどうなる?

2016.02.15

計算の結果が∞となるときの表現方法について解説しています。

2016.02.15

各種データ型の変数に値を代入しない場合、変数の初期値は?

2024.01.18

各種データ型の変数にnullが代入できるかを確認しました。

2024.01.23

基本的な計算である足し算(加法)/引き算(減法)/掛け算(乗法)/割り算(除法)を行うプログラム作成。

2020.03.23

Javaの演算子'/'を使って割り算を行った結果と注意点などについて説明。

2020.03.23

数学に関係するJavaのメソッドやソースコードなどを紹介しています。

2022.10.25

プログラムの最初に実行されるメソッドは?

2022.12.13

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

世界中のバラバラな文字コードを統一するも目的で作られたUnicode(ユニコード)。数値と文字コードの対応表を参考にしてください。

2020.03.23

条件式を判断して処理を分岐する方法を詳しく説明しています。

2023.03.20

式の値によって処理を分岐する方法を詳しく解説しています。

2016.08.04

処理を繰り返すために使用するfor文について解説しています。

2020.03.23

インストールしたJavaの開発環境JDK(Java Development Kit)を動かすためにのパス設定の方法を説明しています。

2020.03.23

データの型を変換する方法を詳しく解説しています。例)int型 → long型

2015.11.01

for文で変数名iがよく使われる理由について説明しています。興味のある方は是非。

2022.08.29

広告