TxKxZxWx's blog

AWS SAA、Javaの学習

Java学習 12日目 「メソッド」

・メソッドの作り方

 

public class Main {
  public static void main(String args) {

  sayHello (); //sayHelloメソッドを呼び出して出力

  sayHello ();

  }

  public static void sayHello() {  //sayHelloメソッドを定義

    System.out.println ( "hello paiza" );

  }

}

 

⬇︎

 

hello paiza

hello paiza

 

 

メソッド名の先頭は小文字、単語の区切りで大文字にする。

動詞を表す単語と名詞を組み合わせるとどんな処理をするメソッドかわかりやすい。

 

 

 

・引数と戻り値を追加する

 

メソッドを呼び出した後、計算結果を使って別の処理を呼び出す

 

public class Main {
  public static void main(String args) {
    int num1 = sum(3, 4);
    System.out.println(num1);
    int num2 = sum(300, 400);
    System.out.println(num2);
  }

  public static int sum(int x, int y) {
    return x + y;
  }
}

 

 

メソッドで戻り値を返す場合はintの部分を戻り値のデータ型に合わせる。

sumメソッドを呼び出して引数を使って計算して、その処理結果をreturnで戻り値にする。

それをnum1変数に代入してprintlnで呼び出している。

 

 

 

 ・RPGの攻撃シーンを作る(メソッド使用)

 

// RPGの攻撃シーンを作ろう
public class Main {
  public static void main(String args) {
    String
enemies = {"スライム", "モンスター", "ドラゴン"};
    for (String enemy : enemies) {
      attack(enemy);
    }
  }

  public static void attack(String target) {
    System.out.println("勇者は、" + target + "を攻撃した。");
    int hit = (int) (Math.random() * 10 + 1);
    if (hit < 6) {
      System.out.println(target + "に、" + hit + "のダメージを与えた!");
    } else {
      System.out.println("クリティカルヒット!" + target + "に、100のダメージを与えた!");
  }
}
}

 

 

 

 まずenemies配列にモンスター達を格納し、それを拡張for文で全て呼び出す準備をする。

そしてattackメソッド(引数はtarget)を作り、勇者が攻撃する文章作成。

そしてランダムにクリティカルヒットが出る文をMath.randomで作る。

 

 

 

 

 ・ブロックのスコープを理解する

 

public class Main {
  public static void main(String[] args) {
    System.out.println("hello world");
    int num = 0;
    if (num == 0) {
      String msg = "pazia";
      System.out.println(msg + num);
    }
    //System.out.println(msg1); // エラーになる

    for (int i = 1; i < 5; i++) {
      String msg = "Java";
      System.out.println(msg + i);
    }
    //System.out.println(msg); // エラーになる
  }
}

 

ブロックの中で宣言されたローカル変数は、ブロックの外では利用できない。

上記の例ではmsgメソッドはブロックの中で定義されているので、ブロックの外で呼び出そうとするとエラーがでてしまう。