🗂
0526週まとめ -メソッドの基礎-
5/26週の研修における復習ノートです。
間違って理解しているところがあるかもしれないので、その際は指摘をお願いします
メソッドとは
-
- 複数の命令文をひとまとめにして名前をつけたもの
- 実行時に受け取るデータを「引数」、返す処理結果を「戻り値」という
- Javaが提供しているメソッドと自分で定義できるメソッドが存在する
メソッドの定義
-
- クラスブロックの中に記述
- メソッド内で定義した変数はメソッド内でのみ有効
- メソッド定義の並び順は問わない
public class FullNameTest {
public static void main(String[] args) {
//処理の記述
}
//メソッドはクラスブロック内に記述
public static 戻り値の型 メソッド名 (データ型 変数名1, データ型 変数名2){
//処理の記述
return 戻り値;
}
}
この形さえ覚えればメソッドの記述は可能
戻り値がない場合(メソッド内で表示させるなど)は戻り値の型を「void」で指定する
メソッドの後ろの()には材料を受け取るための変数を指定する(仮引数)
以下、メソッドの定義の種類をまとめる
-
- メソッドは引数を受け取ることができる
- 仮引数で指定したデータ型と数に一致したデータ(実引数)を受け取る
- 戻り値がないため、メソッドに記述するデータ型は「void」
-
- 仮引数でLastNameとFirstNameを指定する(String型)
- 実引数で苗字と名前を指定し、メソッドに渡す
FullName.java
public class FullNameTest {
//フルネームを表示するメソッド
public static void main(String[] args) {
printFullName("織田","信長");
}
public static void printFullName(String lastName , String firstName) {
System.out.println(lastName + " " + firstName);
}
}
-
- 引数のあるメソッドと書き方は同じ
- 戻り値のデータ型を指定する必要がある
- メソッドブロックの最後にreturn文を書く(return文以降に処理は書かない)
-
- 仮引数でCheckNumを指定する(int型)
- 実引数でチェックしたい数字を指定し、メソッドに渡す
- 戻り値の型をString型で指定し、mainに返す
FizzBuzz.java
public class FizzBuzzTest {
public static void main(String[] args) {
int a = 30;
String ans = FizzBuzz(a);
System.out.println(ans);
}
public static String FizzBuzz (int CheckNum) {
if(CheckNum % 15 == 0) {
String check = "FizzBuzz";
return check;
}else if(CheckNum % 3 == 0) {
String check = "Fizz";
return check;
}else if(CheckNum % 5 == 0) {
String check = "Buzz";
return check;
}else{
String check = "Error";
return check;
}
}
}
オーバーロード
クラス内に同じ名前のメソッドを複数個定義することができる
-
- 仮引数の数が異なる
- 仮引数のデータ型が異なる
- 仮引数のデータ型の並びが異なる
- 戻り値の型はオーバーロードには関係ない
同じ名前のメソッドであっても、受け取る実引数のデータ型をメソッドの仮引数に合わせることで、メソッドを特定し、使用することができる。メソッドを複数定義し、用途が不明瞭になることを防ぐ。
(シグネチャ:「メソッド名」「引数の個数、データ型、並び順」の組み合わせ JVMはシグネチャでメソッドを特定する)
Discussion