Javaプログラミング学習サイト ゆるゆるプログラミング

2019/12/10 公開

・変数名の付け方

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

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

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

・文字数制限なし

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

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

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

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

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

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

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

ValName_OK.java ← クリックしてダウンロードページに移動
001:    public class ValName_OK {
002:    	public static void main( String[] args ) {
003:    		// 使用可能な変数(コンパイルに成功)
004:    
005:    		// アルファベットだけの変数
006:    		int a;
007:    		int aaaaaaaaaaaaaaaaaaaa;
008:    		int abcdefg;
009:    		int Abcdefg;
010:    		int numData;
011:    
012:    		// アルファベットと数字の変数
013:    		int x1;
014:    		int xyz2;
015:    		int q2w3;
016:    
017:    		// アルファベットと数字と記号の変数
018:    		int aaa_123;
019:    		int bbb$123;
020:    		int _ccc567;
021:    
022:    		// 漢字を使った変数
023:    		int 変数;
024:    		int 個数_1;
025:    
026:    		// 予約語の最初の文字を大文字にした変数
027:    		int If;
028:    		int For;
029:    		int Switch;
030:    		int Public;
031:    
032:    		// 定数の最初の文字を大文字にした変数
033:    		int False;
034:    		int True;
035:    		int Null;
036:    	}
037:    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ValName_NG.java ← クリックしてダウンロードページに移動
001:    public class ValName_NG {
002:    	public static void main( String[] args ) {
003:    		// 使用できない変数(コンパイルに失敗)
004:    
005:    		// 最初の文字が数字
006:    		int 1a;
007:    		int 12345;
008:    		int 678_aaa;
009:    
010:    		// 予約語
011:    		int if;
012:    		int for;
013:    		int switch;
014:    		int public;
015:    
016:    		// 定数
017:    		int false;
018:    		int true;
019:    		int null;
020:    	}
021:    }

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

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

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

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

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

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

■関連コンテンツ

Javaで扱う変数について解説-画像

Javaの変数

変数は、プログラムの中で値を入れておく入れ物のようなものです。

無限大(∞)について-画像

無限大 Infinity

計算結果が無限大(Infinity)になるjavaソースコードを紹介しています。

■新着情報

2022.07.07 外部プログラムの実行 exeファイル実行
2022.07.06 完全数 6=1+2+3

■広告

 

 

 

 

 

スッキリわかるJava入門第3版 [ 中山清喬 ]

価格:2,860円
(2021/6/18 14:32時点)
感想(6件)

 

 

Topへ