【第3話】メソッドの引数と戻り値【ビットコイン自動売買ツール】
こんばんは。
ばったんです。
早速ですが、前回のおさらいです。
変数には、整数用・少数用・文字用のように、多くの種類があります。
整数は『int x』
少数は『double x』
文字は『string x』
変数の種類に合わせて指定する必要があるということでしたね。
また、メソッドの作り方についても説明しました。
メソッドとは、処理のまとまりのことです。
メソッドに処理を買いておくと、それを何度も呼び出すことでプログラムを書く手間が省けて、分かりやすいプログラムになるということでした。
前回の内容を忘れた方は、【第2話】変数の宣言とメソッドの作り方を見て下さい。
メソッドの使い方を覚えると、更にプログラムを整理できます。
なので、今回はメソッドについて詳しく解説していきます。
1、メソッドの引数
前回作成した、文字を表示するプログラムを修正していきます。
「文字を表示しています」を画面に出すプログラムです。
『1回目文字を表示しています2回目文字を表示しています3回目文字を表示しています』
と画面に表示させたい時、あなたならどうやってプログラムを書きますか?
・・・・・( ゚Д゚)
これも間違えではありません。
メソッドと引数を使って整理していきましょう。
整理すると、このようなプログラムになります。
プログラムの流れを説明すると、こんな感じ。
こんな感じで、メソッドに変数を引き渡すことができます。
メソッド側では、受け取った変数を覚えておく必要があります。
static void Method2( なので、ここで変数の宣言をします ) {
}
後は、受け取った変数を使うだけです。
static void Method2( string hensu ) {
Console.Write(hensu + "hensuという");
Console.Write(hensu + "変数を使ってます");
}
注意点ですが、メソッド内で宣言した変数は、メソッドが終わった時点で消えます。
なので、メソッド内の変数を別のメソッドで使おうとしても、使えないということになりますね。
2、変数を複数宣言
変数を宣言するときに、同じ種類の変数を
『 int x; 』
『 int y; 』
『 int z; 』
と書くのは面倒ですね。
まとめちゃいましょう。
『 int x, y, z; 』
メソッドについても一緒なのでしょうか?
例えば、3つの変数をメソッドへ引き渡す時に、
static void Method3( int x, y, z ) {
Console.Write("これで出来る気がする");
}
実は、エラーになります。
正解はこれです。
static void Main(string[] args)
{
Method3(1, 2, "数字以外の変数でもOK");
}
static void Method3( int x, int y, string z ) {
Console.Write("これで出来ます");
}
混在しそうですが、プログラムが間違っていても赤線で注意してくれます。
その都度なおして、徐々になれて下さい。
3、メソッドの戻り値
色んな種類の変数をメソッドに渡すことができますが、その逆も出来ます。
メソッドが終わった後、変数を元々のメソッドに返すことができるということです。
次のプログラムを見て下さい。
このプログラムを改良して、戻り値を設定してみましょう。
注目するのはここです。
①戻り値の種類を書く
今まで『void』って書いていた部分ですね。
実は『void(戻り値ないです)』って意味だったのです。
②『return 〇〇』の形式で、戻り値を書く
ここには、戻り値を直接書いても、変数でもOKです。
『return "文字"』『return 100』『return x』
ただし、①で書いた種類と違う種類の値を書くとエラーになります。
③戻り値を受け取る変数を用意
メソッドを実行した後、戻り値が返ってくると、その内容を保存する必要があります。
もしも、戻り値が返ってきたのに、変数を用意していなかったらどうなるか。
まさかのエラーになりません。
『modoriti = Test( "LISK(リスク)" ); 』
『modoriti = "戻り値で~す"; 』
に変わるだけということは...
変数を用意してなかったら、
『Test( "LISK(リスク)" ); 』
『"戻り値で~す"; 』
になるだけ。
処理は実行されて、戻り値は返るけど、保存されないから消えていくってことですね。
因みに、戻り値は1つしか設定できませんので、注意してください。
4、まとめ
メソッドに変数を1つ以上、引き渡すことができます。
処理が変わらない部分をメソッドに書いて、変わる所だけ変数で引き渡す。
こうすることで格段とプログラムが整理されます。
また、メソッドを実行した後、戻り値を1つだけ返すこともできます。
よく使う方法は、正しく処理されたか確認する時です。
正しく処理されたらOKを返して、誤った処理がされたらNGを返す。
みたいな感じです。
ここまで、どうでしたか?
少し難しくなってきたので、「もう少し詳しく知りたい」「ここの意味が分からない」などのコメントを下さい。
次回は、if文(もしも~)とfor文(繰り返す)について説明します。
いわゆる条件文と繰り返し文と言われる物です。
正しく処理されたらOKを返して、誤った処理がされたらNGを返す。
と言われても、いまいち実感がないと思います。
次回で併せて、実際にプログラミングしてみましょう。
興味を持って頂けたら、フォローやリツイートをよろしくお願いします。
コメントやDMも気軽に飛ばしてください。
では。