スタートページJavascriptJava

Javaシリーズの目次

Javaの文法(4) 引数・戻り値


引数

public class Main {
  public static void main(String[] args) {
    メソッド1("abc");
    メソッド2(10, 12.3f);
    int[] 配列 = {10, 11, 12};
    メソッド3(配列);
  };
  public static void メソッド1(String 文字列) {      // 単一スカラー
    System.out.println("メソッド1 " + 文字列);             // メソッド1 abc
  }
  public static void メソッド2(int 整数, float 実数) { // 複数スカラー
    float 合計 = 整数 + 実数;
    System.out.println("メソッド2 " + 合計);               // メソッド2 22.3
  };
  public static void メソッド3(int[] 配列) {         // 単一配列
    int 配列長 = 配列.length;
    System.out.print("メソッド3 ");
    for (int i=0; i<配列長; i++) {
      System.out.print("配列[" + i + "]=" + 配列[i] + ",");  // メソッド3 配列[0]=10,配列[1]=11,配列[2]=12,
    };
  }
}

戻り値(同一型)

Java での return は、JavaSxript と異なり、一つの値(配列やリストでもよい)しか戻せません。
  return [戻り値1, 戻り値2, …]
のような記述はできません。

それで無理矢理一つの変数にまとめる必要があります。

import java.util.*;  // メソッド4でのArrayListに必要
public class Main {
  public static void main(String[] args) {
    int 戻り値1 = メソッド1();
    System.out.println("戻り値1:" + 戻り値1);                           // 戻り値1:10
    int[] 戻り値2 = メソッド2();
    System.out.println("戻り値2:" + 戻り値2[0] + ", " + 戻り値2[1]);   // 戻り値2:10, 11
    int[] 戻り値3 = メソッド3();
    System.out.println("戻り値3:" + 戻り値3[0] + ", " + 戻り値3[1]);   // 戻り値3:10, 11
    ArrayList<Integer>: 戻り値4 = メソッド4();
    System.out.println("戻り値4:" + 戻り値4                             // 戻り値4:[10, 11]
          + ", " + 戻り値4.get(0) + ", " + 戻り値4.get(1));              //         ,10, 11
  };
  public static int メソッド1() {    // スカラー
    int 戻り値1 = 10;
    return 戻り値1;
  };
  public static int[] メソッド2() {  // 配列
    int[] 戻り値2 = {10, 11};
    return 戻り値2;
  };
  public static int[] メソッド3() {  // スカラーを配列にまとめる
    int i = 10;
    int j = 11;
    int[] 戻り値3 = new int[2];
    戻り値3[0] = i;
    戻り値3[1] = j;
    return 戻り値3;
  };
  public static ArrayList<Integer>:メソッド4() {  // リスト
    ArrayList<Integer>: 戻り値4 = new ArrayList<Integer>:();
    戻り値4.add(10);
    戻り値4.add(11);
    return 戻り値4;
  };
}

戻り値(混合型)

構造型変数をクラスで設定させることにより、異なる型の要素を戻すことができます。

class クラス5 {
  String 文字列;    // ┬ 構造体の定義
  int    整数;      // ┘
  public static クラス5 メソッド5() { // 戻り値の型がクラス5で定義した構造型
    クラス5 戻り値 = new クラス5();   // 戻り値が構造体変数になる
    戻り値.文字列 = "abc";
    戻り値.整数 = 10;
    return 戻り値;                      // 複数の要素を一つの変数にした
  }
}
public class Main {
  public static void main(String[] args) {
    クラス5 戻り値 = クラス5.メソッド5();
    System.out.println("戻り値5:" + 戻り値.文字列 + ", " + 戻り値.整数);  //戻り値5:abc, 10
  }
}