paizaラーニングforTEAM Java入門編
レッスン6の#04
6-#04
// スコープを理解する
// Javaでは、あるメソッド定義と別のメソッド定義は完全に独立したコードとして扱われるということ
// これが変数のスコープ_変数の有効範囲が決まっている
// メソッド定義など、ブロックの中で宣言された変数をローカル変数と呼ぶ
public class Main {
public static void main(String[] args) {
int a = 10;
int b = 20;
int num = sum(a, b); // sumメソッドの呼び出し_引数がaとb_戻り値をnumに代入
System.out.println(num);
System.out.println("hello" + a);
}
// 足し算をするsumメソッドを定義
public static int sum(int x, int y) {
// メソッドの結果を再利用したい場合に戻り値を記述する
// メソッド定義では戻り値のデータ型を記述(ここではint)、戻り値がない場合はvoid
// メソッド定義の引数にはデータ型と変数名を記述
int a = 3;
System.out.println("hello" + a); // mainメソッドとはスコープが分かれているため、
// mainメソッドの変数aとsumメソッドの変数aは独立している
return x + y; // メソッドの中身_ここではメソッドの返り値
}
}
// プログラムの流れ
// 1. mainメソッドの変数aと変数bに値を代入
// 2. sumメソッドを呼び出す
// 3. sumメソッドの変数aに値を代入(メソッドではスコープが分離しているのでmainメソッドの変数aには影響しない)
// 4. sumメソッド内で"hello" + aを出力_変数aはsumメソッドのもの
// 5. sumメソッドでの計算結果を戻り値として返す
// 6. mainメソッドに戻り、戻り値を変数numに代入
// 7. mainメソッド内で変数numの値を出力
// 8. mainメソッド内で"hello" + aを出力_変数aはmainメソッドのもの