美人すぎない化粧品販売員がアプリ開発を目指す

Javaの構文、オブジェクト指向、APIなど、プログラミング初心者の私がアプリ開発までに理解したことをまとめたブログ

戻り値なしと戻り値ありの違い

戻り値とは値を呼び出し元に返すこと

値・・・数値、文字列など ※配列{1,2,3}も値に入る

 

〈戻り値なし〉 

  main add(100,200);

     static add(int x, int y){

                 int ans=x+y;

                print(x+"+"+y+"+"+"="+ans);

    

→mainのaddメソッドから100と200がstaticのaddへ引数として渡され、

   addのint xへ100がint yへ200が代入され、addの中身の式が実行される

   そして、mainメソッドへは

    int ans=x+y;

                print(x+"+"+y+"+"+"="+ans);

    という式が戻される(※値じゃない)

よって、mainでの出力は

       100+200=300

                                ↑

 

    (x+"+"+y+"+"+"="+ans)に引数100と200を代入した式

 

 〈戻り値あり〉

    main int ans=add(100,200);

       static int add(int x,int y){

                int ans=x+y;

               return ans;

        }

 

→mainのaddメソッドから100と200がstaticのaddへ引数として渡され、

   addのint xへ100がint yへ200が代入され、addの中身の式が実行される

   そして、mainメソッドへは

    int ans=x+y;の結果であるint型の値 300が戻される

よって、mainでの出力は

       300という値のみ

        ↑

 (戻り値を受け取った式はint ans=300

     なので、ansを記述すると300という値が出力される)

 

 戻り値ありでは、値を受け取らないといけないので、

mainメソッドでは受け取るための型を指定しなければならない

    ex. int型の値を戻す場合 戻り値の型 int

          int型配列の値を戻す場合 戻り値の型  int[ ]

 

 戻り値なしでは、値の型はいらない

    add(100,200);

                       ↓

      int ans=x+y;

           print{x+y};

 値が代入されるのではなく、それ自体が式に置き換わる