HOME技術JAVAJAVAのローカル変数とグローバル変数

JAVAのローカル変数とグローバル変数

変数には、その有効範囲が定められています。
この有効範囲のことをスコープと言います。

スコープ内では変数を利用できますが、スコープ外ではその変数は存在しないことになり、利用することができません。

ローカル変数

ローカル変数は、ある決められた範囲内で宣言された変数のことです。
変数は、宣言された範囲内でしか利用することができません。
例えば、以下のような場合です。

public static void aaa(){
int x = 10;
for ( int i=0; i<x; i++ ){
int y;
y = i * x;
}
System.out.println ( y );
}

このコードでは、最後のSystem.out.println ( y );の部分でエラーが出ます。
なぜならば、yを変数宣言しているのが、for文の中だからです。
for文の中で宣言された変数は、for文の範囲内でしか使うことができません。
for文の外で使おうとすると、まだfor文の外ではyは変数宣言していないので、エラーとなるのです。
同じように、変数xは、aaa()メソッドの外で使うことはできません。
上記のコードを正しく動作させるためには、以下のように書き直します。

public static void aaa(){
int x = 10;
for ( int i=0; i<x; i++ ){
int y;
y = i * x;
System.out.println ( y );
}
}

グローバル変数

ローカル変数が、ある範囲内でしか利用することができない変数であるのに対し、グローバル変数は、スコープの範囲がより広い変数になります。

JAVAには正確な意味でのグローバル変数は存在しません。
しかし、グローバル変数のように使うことができる変数を設定することはできます。
その方法は、変数の宣言にpublic staticを使うことです。

class GlobalHensu{
public static int Hensu = 1;
}

上記のように宣言すると、以下のように書けばプログラムのどこからでもその変数を使うことができるようになります。

System.out.println ( GlobalHensu.Hensu );

 ただし、グローバル変数は、プログラムのどこからでも使用できてしまうことがかえって危険であるため、使うこと自体がよしとされていません。JAVAという言語の思想からもはずれている使い方と言えます。
グローバル変数でも仕方なし、というケースは定数を定める場合です。

public static final int Hensu = 5;

上記のように、finalを付けるとあとから変更不可能な変数として、定数を宣言することができます。

関連記事

JAVAのエスケープシーケンス

例えば、以下のように、ダブルクォーテーションを出力したい場合には、どのように書けばいいでしょうか。 System.out.println(“””); 上のように書い…続きを読む

JAVAのループ処理:do~while文

JAVAのループ文には、while文というものがあります。 while文は、条件式に合致している間、処理を続けるというものです。while文は、まず条件を判定して、その後に処理を行います。 これに対し…続きを読む

JAVAで変数を使う:変数宣言と変数の型

変数とは、プログラム内で利用される「値」を入れるための「器」です。 変数は一定の規則に従えば、任意の名前を付けることができます。 変数はどのように使うのかというと、例えば、Hensuという名前を変数を…続きを読む

JAVAのループ処理:while文

ある条件を満たしている間は、決められた処理を繰り返す、という命令文が、ループ処理です。 JAVAのループ処理には以下の2つがあります。 while文 do~while文 for文 今回はwhile文に…続きを読む

Eclipseを使ってJAVAで”Hello World”を表示する

統合開発環境(IDE)であるEclipseを使ってJAVAプログラミングを練習していきます。第一弾は、基本中の基本である、「Hello World」を表示する、というものです。 Eclipseの使い方…続きを読む

WindowsにJAVA実行環境「Pleiades」をインストールする

プログラミングを学習するためにJAVAでアプリケーションをつくることにしました。手始めに、Windows 10にJAVAの実行環境をつくります。 Windows 10にJAVAの開発環境をつくる JA…続きを読む

Eclipseで分離したウィンドウを元に戻す

Eclipseを使って、ウィンドウを分離する場合には、分離したいウィンドウのバーをクリックして、アプリケーション外に移動します。 分離したウィンドウを結合する 分離したウィンドウを元に戻すには、「ウィ…続きを読む

JAVAでメソッドをつくる

JAVAには既に存在するメソッドのほかに、自分でメソッドを作ることができます。 自分でメソッドを作る際のルールは以下の通りです。 修飾子 戻り値の型 メソッド名(引数) { 処理 } 修飾子とは 修飾…続きを読む

JAVAでクラスを生成する

JAVAでは、一つのソースファイル(.javaファイル)ごとに最低でも1つのpublicクラスが必要になります。 publicクラスは、1つのソースファイルに1つしか設定できません。 publicでな…続きを読む

JAVAの多次元配列

多次元配列とは、配列変数の要素の表現がHareitsu[0]であるのに対し、Hairetsu[0][0]と表すことができる配列変数です。 多次元配列の用途 多次元配列を使うと、ゲームで言うならばマップ…続きを読む