こんにちは、ちこです🌷
前回同様、さっそく今日のおさらいから始めます!
・メソッドについて
・戻り値、引数
今日は上記の2点を勉強しました!
まずメソッドとは、部品化することです。また、処理を見やすくでき、修正もしやすくなります。
public 戻り値 メソッド名(型 引数){ //処理 }
となります。
正直最初は曖昧にしかわかっていなかったのですが、教えてもらってようやくわかるようになりました。
なんのために、どんなときに使うのか、イメージがつかめず勉強していたのですが、わかりやすく教えてもらいました。
まず、メインメソッドの役割は、シンプルに表すと、メソッドの呼び出し、表示等。
また新たなメソッドを作って、そっちのほうで詳しい詳細を組んでいくので、メインメソッドを見たときにすっきりするというわけです。
また、修正もしやすくなります。
時々人のプログラムを見ることもあるので、そのためにも必要らしいです。
確かに、わたしも人のプログラムを見たときに、いっぺんに書いてあってわけがわからなかったら嫌ですね~
短時間で流れがわかれば、その分ほかのことに時間を充てられるし!
メソッドはきちんと勉強して、自分のプログラムをほかの人に見られたときに、見やすいねと言ってもらえるように頑張ります!
呼び出されたメソッドから、呼び出し元のメソッドへ値を返すことを戻り値といいます。
また、戻されるデータ(値)のことを戻り値といいます。
戻り値はメインメソッドの中で使うことができます。
問題を解いていて、ぱっと見難しそうで、わけのわからなそうな問題が出てきました。
メソッドの性質を理解していなければ解けない問題です。
下記の問題のコンソール表示は何かという問題でした。
public class Q1{ public static void main(String[] args){ int num = 1300; num = reduce(100, reduce(300, num)); System.out.println(num); } public static int reduce(int minus, int val){ int ans = val - minus; return = ans; }
まず、reduce(100, reduce(300, num))の中身はメソッドになります。つまり、reduceの引数は、100とreduce(300, num)になります。
このようなメソッドの存在が出てきたとき、どうすればいいかわからなかったのですが、一つずつ丁寧に考えて、括弧の中から処理をすればいいので、
reduce(300, num)を片づけてしまうことが最初にすることです。
一見難しそうに見えるものでも、落ち着いて考えれば普通のメソッドと同じような流れなんだなと理解することができました。
最終的には、下のメソッドに引数を当てはめて進んでいけば、reduce(100, reduce(300, num))から、reduce(100, 1000)になります。
こういう難しそうに見える問題って、わたし的にとてもニガテなんですが、これからたくさん慣れていって、難しい問題を解けるようになるだけではなく、難しい複雑なプログラムも解けるようになっていけたらいいなと思います!