どうもパケです
今回は いろいろなデータ型とメソッド と オーバーロード について
書いていきます
この記事の目次(タップして読みたいところへ)
1、いろいろなデータ型!
以前、データ型について少しお話しましたが

よく使うデータ型として

これらのデータ型を例として挙げました
このほかにも、いろいろなデータ型が存在します

int型、String型、double型などはよく使いますが
そのほかにも
- 2,147,483,647 以上の数値を扱う long型
- 一文字のみ扱う char型
- 真偽値(ture,false)を扱う boolean型
などがあります
使うメモリ数が異なるため、用途に合わせて使用することで
メモリを節約することができますが
byte型、short型などはあまり使用しません
2、真偽値を返すメソッド
戻り値には真偽値を返すこともできます

今回はパケが赤点で追試となるかどうかの判定を
戻り値として返す redScore メソッドを書いていきます
まずは、クラスの平均の変数を classAverage として、パケの点数を受け取る仮引数を pakeMath とします
戻り値を pakeMath > classAverage / 2 で設定し
true か false を戻り値として返します
classAverage を 60.0 点と仮定すると
public static boolean redScore(double pakeMath){
double classAverage = 60.0 ;
return pakeMath > classAverage / 2 ;

このようになります
戻り値の型が boolean となっていることに注意してください
今度は mainメソッド にて
戻ってきた値が true か false により
追試となるかを if 文を使って分岐します
mainメソッドにて trail という(追試の意味)変数を用意して
パケの点数が40.0点であったとした場合
boolean trail = redScore(40.0);
if(trail){
System.out.println(“パケは赤点ではありません”);
}else{
System.out.println(“パケは赤点です!追試してください。”);
}

このように書き、保存して出力すると

追試となるかどうかを判定することができました
引数を 20.0 として保存して出力してみると

表示が変わり、真偽値を戻り値として条件分岐できたことがわかりますね
3、オーバーロードとは
メソッドを定義する際にメソッド名をつけますが
基本的に同じ名前のメソッド名をつけることができません
試しに、greeting() というメソッドを2つ作り
mainメソッドから呼び出してみると

このようにエラーが出てしまいました
これはコンピューターがメソッドを呼び出す際に
どちらのメソッドを呼び出してよいか分からない為です
メソッド名が同じ名前であっても、引数の数や型が違うことで
何個も定義することができますこれを オーバーロード と呼びます
試しに、引数の数によって異なるメソッドを呼び出してみましょう
//仮引数なし
public static void greeting(){
System.out.println(“こんにちは、みなさん!”);
}
//仮引数、String型 1つ
public static void greeting(String name){
System.out.println(“こんにちは” + name + “さん”);
}
//仮引数、String型 2つ
public static void greeting(String name1,String name2){
System.out.println(“こんにちは” + name1 + name2 + “さん”);
}
まずは、この3つの仮引数の数が異なる同名のメソッドを定義します

これを mainメソッド に greeting(); と書き
引数なしで呼び出してみます、すると

仮引数なしのメソッドが呼び出され
こんにちは、みなさん! と表示されました
次に greeting(“鈴木”); と記述し
String型の引数を一つ渡して呼び出してみます

今度は、 String型の仮引数を1つもったメソッドが呼び出され
こんにちは鈴木さん! と表示されました
同様に greeting(“鈴木”,”太郎”); と記述すると

String型の仮引数を2つもったメソッドが呼び出され
こんにちは鈴木太郎さん! と表示されました
仮引数が同じで、データ型のみ違っても定義できます、試しに
//仮引数、String型 1つ , int型 1つ
public static void greeting(String type,int number){
System.out.println(“おはようございます” + type + number + “号さん”);
}
このように、仮引数が String型 1つ , int型 1つ の
greeting メソッドを用意します
これをmainメソッドにて greeting(“人造人間”,18); と
呼び出してみると

仮引数、String型 1つ , int型 1つ のメソッドが呼び出され
おはようございます人造人間18号さん と表示され
仮引数、String型 2つ のメソッドとも区別されたことがわかりました
いろいろなデータ型とメソッドとオーバーロードまとめ
- データ型にはメモリ数よって分けられるものもある
- 真偽値を戻り値として返すこともできる
- 同名のメソッドは基本的には定義できない
- 同名のメソッドでも、引数の数やデータ型が異なれば定義することができる
今回はここまでとさせていただきます
オーバーロードはJavaにとって欠かすことのできない機能とのこと
その理由についても、また上手に(笑)書いていけたたと思います
次回は 他クラスのメソッドとの連携 について
書いていきます
ではでは