【11章】Javaを学ぼう
今回の記事では、戻り値を中心に書いていきたいと思います。私自身のアウトプットの場になりますので、よろしくお願いいたします!
戻り値
メソッドの処理結果を、メソッドの呼び出し元で使いたい場合があります。このようなときは、メソッドが戻り値を返すようにします。
メソッドの戻り値
メソッドの中でreturnを使うと、returnの値をメソッドの呼び出し元に返すことができます。また、戻り値があるメソッドは、戻り値のデータ型を指定します。「public static void」のvoidの部分で指定します。
public static 戻り値のデータ型 メソッド名(引数) {
return 戻り値; //呼び出し元にデータを返す
}
public static int add(int x, int y) {
return x + y; //x + yが戻り値
}
上図のaddメソッドは、戻り値が整数なので「public static int ...」となります。
それではもう少し具体例に触れていきたいと思います。
class Main {
public static void main(String[] args) {
int total = add(8, 4); //add(8, 4)は12
System.out.println(total);
}
public static int add(int x, int y) {
return x + y; //8+4の結果が戻り値になる
}
}
出力結果↓
12
補足ですが、voidは戻り値がない、という意味になります。戻り値のない(returnがない)メソッドには、voidを指定します。
また、下図のように同名のメソッドは原則として定義できません。同じメソッドが複数存在すると、メソッドを呼び出したときにどのメソッドを用いればいいのか、コンピュータがわからなくなってしまうためです。
class Main {
public static void main(String[] args) {
hello(); //エラーになる
}
public static void hello() {
System.out.println("こんにちは");
} //同名のメソッド(hello())
public static void hello() {
System.out.println("Hello");
}
}
ただし、引数の型や個数が違う場合は同名のメソッドを定義できます。同名のメソッドがあっても、引数が違えばどれを呼べばいいのかコンピュータが判断できるためです。
同名のメソッドを定義することをオーバーロードと言います。
class Main {
public static void main(String[] args) {
hello(); //引数がないhelloメソッド
hello("Mia"); //String型の引数を持つhelloメソッド
}
public static void hello() {
System.out.println("こんにちは");
}
public static void hello(String name) {
System.out.println("こんにちは" + name + "さん");
}
}
出力結果↓
こんにちは
こんにちはMiaさん
メソッドを組み合わせる
メソッドは、mainメソッド以外のメソッドから呼び出すことも可能です。
メソッドから他のメソッドを呼び出してみます。
class Main {
public static void main(String[] args) {
System.out.println(average(3, 8));
}
public static double average(int x, int y) {
int total = add(x, y);
return(double)total / 2;
}
public static int add(int x, int y) {
return x + y;
}
}
averageメソッドは平均を求めるメソッドです。aとbの平均は「(a + b) / 2」で求められますが、足し算の部分はaddメソッドを利用しています。
真偽値の戻り値
真偽値のデータ型はbooleanなので、メソッド定義は下図のようになります。
public static boolean isEven(int x) {
return x % 2 == 0; //偶数であればtrue
}
isEvenメソッドは引数の値が偶数かどうかを調べ、偶数であればtrue、奇数であればfalseを返します。
isEvenメソッドをもう少し具体的に利用してみます。
class Main {
public static void main(String[] args) {
int number = 7;
if(isEven(number)) {
System.out.println(number + "は偶数です");
} else {
System.out.println(number + "は奇数です");
}
}
public static boolean isEven(int x) {
return x % 2 == 0;
}
}
出力結果↓
7は奇数です
以上が戻り値を中心とした説明になります。次章ではクラスについて詳しく書いていきたいと思います。
よろしければご覧になってください!
最後までご覧いただきまして、ありがとうございました!
Author And Source
この問題について(【11章】Javaを学ぼう), 我々は、より多くの情報をここで見つけました https://qiita.com/haruki25596/items/4b4f4d8421e406e77a0f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .