【はじめてのJava】ローカル変数【オブジェクトとクラス編】
はじめてのJava
このシリーズでは、初めてJavaやプログラミングを勉強する方向けに、Javaによるプログラミングの基礎を説明していきます。
目標レベルは、Javaの資格試験の一つである「Oracle Certified Java Programmer, Silver」(通称Java Silver)に合格できる程度の知識の習得です。
はじめてJavaやプログラムに触れる方にもできるだけわかりやすい解説を心がけていきます。
オブジェクトとクラス編
オブジェクトとクラス編では、Javaを扱う上で非常によく出てくる「オブジェクト」や「クラス」について扱っていきます。
以前、「インスタンス変数」や「static変数」について扱いました。
今回は「ローカル変数」について紹介します。
目次
変数の種類変数
これまで扱った変数には「インスタンス変数」「static変数」がありました。
振り返ってみましょう。
インスタンス変数
以前作ったSmartPhoneクラスでは、以下のようにクラスの直下に直接phoneNumber変数を宣言していました。これらの変数はインスタンス変数という種類の変数でした。
SmartPhoneクラス
class SmartPhone{ String phoneNumber; //インスタンス変数 // 以下省略 }
static変数
SmartPhoneクラスのではstatic修飾子を付けてクラスの直下にcapacity変数を宣言していました。このように、static修飾子がついている変数をstatic変数と言いました。
SmartPhoneクラス
class SmartPhone{ static double capacity; //データ通信の容量 //以下省略 }
どちらでもない変数
変数には「インスタンス変数」「static変数」のどちらにも当てはまらない変数があります。
これらの変数はどのような扱いになるのでしょうか。
ローカル変数
あるメソッドの中で宣言されている変数は ローカル変数 と呼ばれます。
メソッドの引数や、メソッド内で宣言された変数はローカル変数になります。
メソッド内で宣言された変数
以下のようにメソッドの中で宣言されている変数はローカル変数です。
class SmartPhone{ static double capacity; void callPhone(){ double payParOneMinute = 0.2; //ローカル変数 } }
for文などの中で宣言されている変数
以下のように、for文の内部で宣言されているものもローカル変数になります。
class SmartPhone{ void ringing(){ for(int i = 1; i <= 10; i++){ // iはローカル変数 System.out.println("Ring Ring!!"); } } }
※上記のiのように、動作回数を数えるための変数を「ループカウンタ」と言います。
引数
メソッドの引数として宣言されている場合も、ローカル変数扱いです。
class SmartPhone{ static double capacity; void answerThePhone(int minutes){ //minutesはローカル変数 //省略 } }
まとめ
メソッドの内部で宣言された変数はローカル変数という
for文内で宣言されたi(ループカウンタ)なども、ローカル変数
メソッドの引数もローカル変数
次回
次回もローカル変数について扱います。
はじめてのJavaシリーズの目次はこちら
オブジェクトとクラス編はこちら