ばったんのブログ。

エンジニアの観点から仮想通貨業界を盛り上げる、投資家ばったんのブログ。ビットコイン自動売買ツールの作成方法を紹介しています。

【第3話】メソッドの引数と戻り値【ビットコイン自動売買ツール】

こんばんは。

ばったんです。

 

早速ですが、前回のおさらいです。

変数には、整数用・少数用・文字用のように、多くの種類があります。

  

整数は『int x』

少数は『double x』

文字は『string x』

変数の種類に合わせて指定する必要があるということでしたね。

  

また、メソッドの作り方についても説明しました。

 

メソッドとは、処理のまとまりのことです。

メソッドに処理を買いておくと、それを何度も呼び出すことでプログラムを書く手間が省けて、分かりやすいプログラムになるということでした。

 

前回の内容を忘れた方は、【第2話】変数の宣言とメソッドの作り方を見て下さい。

 

メソッドの使い方を覚えると、更にプログラムを整理できます。

なので、今回はメソッドについて詳しく解説していきます。

 

1、メソッドの引数

前回作成した、文字を表示するプログラムを修正していきます。

テストプログラム1

「文字を表示しています」を画面に出すプログラムです。

 

『1回目文字を表示しています2回目文字を表示しています3回目文字を表示しています』

 

と画面に表示させたい時、あなたならどうやってプログラムを書きますか?

 

 

 

・・・・・( ゚Д゚)

 

 

 

 

テストプログラム2

これも間違えではありません。

メソッドと引数を使って整理していきましょう。

 

整理すると、このようなプログラムになります。

テストプログラム3


プログラムの流れを説明すると、こんな感じ。
f:id:battan_blog:20181201194703j:image

こんな感じで、メソッドに変数を引き渡すことができます。

 

メソッド側では、受け取った変数を覚えておく必要があります。

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、メソッドの戻り値

色んな種類の変数をメソッドに渡すことができますが、その逆も出来ます。

メソッドが終わった後、変数を元々のメソッドに返すことができるということです。

 

次のプログラムを見て下さい。

テストプログラム4-1

テストプログラム4-2

 

 

 

このプログラムを改良して、戻り値を設定してみましょう。

テストプログラム4-3

テストプログラム4-3の実行例

 

 

注目するのはここです。

テストプログラム4-4

①戻り値の種類を書く

今まで『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も気軽に飛ばしてください。  

 

では。