• ベストアンサー

return 引数 がよくわからないです。

JAVAを勉強しているのですが、returnと引数がよく意味が分かりません。 returnをどういう場合につけて、どう付けると、どこに影響があって、どういう結果になるのか、がよくわかりません。 returnが付く場合と付かない場合の違いもよくわかりません。 引数については、()内に何も書かれなかったり、書かれたりの違いがわからないのと、()内に書かれている文字がどこに影響を与えるのか、とか、さっぱりわかりません。 詳しい方いらっしゃいましたら、わかりやすく教えてください。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5088/13306)
回答No.1

Javaであれば、関数を定義する際に関数の型を指定するはずです。 型が void なら戻り値が無いので return が付きません。 void以外の型が指定されている場合、その関数は指定された型の戻り値が有る事を示しているので、return で関数の呼び出し元へ戻り値を返します。 引数は関数を呼び出す際に、関数が要求しているデータを引き渡す為のものです。 関数の定義の中で引数を求めていなければ、呼び出し元は()内に何も書きません。 関数の定義の中で引数を求めていれば、呼び出し元は()内に求められているデータを書いて関数に渡します。 ()内に書かれた引数は、関数の動作に影響を与えます。

moxafan
質問者

お礼

回答ありがとうございます。 なんとなくわかったような、わからないような…。 質問前よりかは分かった気がします。 回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • hwoa1024
  • ベストアンサー率36% (122/336)
回答No.3

用語ではなく、たとえで説明してみます。 関数  = 自動販売機 引数  = 130円 Return = ジュース ・自動販売機に130円いれてジュースが出てくる = 引数もReturnもあり ・自動販売機にお金を入れてないのにジュースが出てくる = Returnだけあり ・自動販売機にお金を入れたのにジュースがでてこない = 引数だけあり どれが正しい、とは全く関係ありません。どれも目的次第で正しい書き方です。

moxafan
質問者

お礼

回答ありがとうございます。 目的によって変わるのですね。 一定の決まり事がないかと思ったのですが、状況によって違うのですね、

全文を見る
すると、全ての回答が全文表示されます。
  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.2

関数を呼ぶ場合、向こうで処理が完結する場合は 関数名() と記述します。 対してこちらに値(数字や文字など)を戻させる場合には A=関数名() と記述します。 関数を呼ぶ際に値を持って行く場合には 関数名(この中に値を書き込みます)とします。 A=sin(x); ならsin関数でreturnとしてサイン値を返しています。 また println("表示する値"+A); はprintlnの中で表示して値は返してきませんのでreturnはなく 、こちらでも受け取りません。 関数名は値を渡さなくても 関数名()と、 ()を付けないと変数名と区別がつかないので()は付けます。

moxafan
質問者

お礼

回答ありがとうございます。 関数がポイントのようですね。 入門の本をもう一度はじめから読み直してみたいと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 引数が全く分かりません。

    JavaScriptを勉強しているのですが「引数」という概念が理解出来ず心が折れそうです。分かりやすい言われている参考書やサイトの解説でも、全く意味が分かりません(値を渡すとかそのレベルで既に分かりませんが、returnで関数の結果が出ることまでは分かります)。 子供でも分かるくらい易しく教えていただけると嬉しいです。どうぞ宜しくお願いします。

  • 引数 戻り値 return文について

    今、C言語を初めて勉強してます。 勉強していて、引数と戻り値、return文 についてよくわかりません。 どなたか詳しく素人にもわかるように教えて 頂けないでしょうか?よろしくお願いします。

  • サブルーチンの@_とreturn

    勉強を始めて数日、サブルーチンが理解できずこまっています。長くてすみませんが、どなたか以下の解説をお願いします。 1 : $aa = "hello"; 2 : $kekka_sub_1 = $sub_1($aa); 3 : $kekka_sub_2 = $sub_2($aa); 4 : 5 : print "sub_1の結果: $kekka_sub_1"; 6 : print "sub_2の結果: $kekka_sub_2"; 7 : 8 : sub sub_1{ 9 : ($aa) = @_; 10: $aa = "Hanako!".$aa; 11: return $aa; 12: } 13: 14: sub sub_2{ 15: ($aa) = @_; 16: $aa = "Taro!".$aa; 17: return $aa; 18: } まず、line9と15の@_というのが一体何なのかわかりません。 @といえば配列全体を示すものと覚えているのですが、これがどこから来たのか・・・・。 次にreturnですが、これは実際には「line1の$aaへ戻れ」という意味なのかそれとも別の意味なのか・・・・・。 私の持っている本だと@_は、サブルーチンの引数が設定されている変数です。とあるのですが、実際何をしているところなのかが理解できません。 勉強を始めたばかりなので、わかりやす~い解説を頂けたらうれしいです。よろしくお願いします。

    • ベストアンサー
    • CGI
  • 引数と戻り値がわかりません

    Javaを勉強中なのですが、引数と戻り値がよく分かりません。 自分で買ったテキストをベースに進めているのですが、ここで詰まってしまいます。 具体的に表現するのが難しいのですが、値がどこに行ってどういう流れになっているのかが 自分で追えず混乱してます。 public static method X (String name){ return name; ↑こういう記述です。 「値をとってくる」、「呼び出し元へ値を返す」という事が分かってないのだと思います。 まだまだ知識が覚束ないのでわかりにくいかもしれませんが、 ご教授願います。

  • java起動時の日本語引数文字化けについて

    java初心者です。 C++ソースからCreateProcess関数を用いてjava.exeを起動し、アプリケーションを起動させるアプリケーションを作成しています。 現在、java側で日本語が文字化けしてしまい、期待する動作が得られていません。 具体的には起動するjavaアプリケーションに引数としてパスを渡しており、そのパスに 日本語が含まれていると文字化けにより解釈できないという状況です。 日本語がアプリケーション内部で正しく利用できるようにはどのようにすれば良いでしょうか。 環境は以下の通りです。 ※情報が足りない等ありましたらお願い致します。。 OS:WindowsXP C++の開発環境:VC6 CreateProcess関数起動時の文字コード:UTF8 java開発環境:eclipse3.5 javaの引数はStringで受けるのですが、java内部ではUTF16らしいので、UTF8で記述された 文字列をUTF16として読むため文字化けしているのかなと調べた結果推測しています。 だとすると、java側で引数で受けた文字列をUTF-8からUTF-16に変換すれば良いのかなと 考えています。 ではその場合どのような処理が必要になるのでしょうか。(String#getBytes()を使う?) 後、javaコンパイル時にエンコードを指定するという方法もあるようですが、その方法は 他へ影響が大きいため、利用できそうにありません。 情報が足りない等あればお願い致します。 ご回答よろしくお願い致します。

  • メソッドの引数の意味について

     こんにちは。  JAVAの初心者です、宜しくお願いします。    drawImage(img,x,y,imageobserverオブジェクト)の引数で最後の「imageobserverオブジェクト」とはどのような意味でしょう。  普通はthisを入れる、と本には書かれていますが、this以外が入る場合とはどのような場合でしょう。    また、addMousemotionListener(this)のthisの引数の意味はどのような意味でしょう??  「このオブジェクト」に来たイベントをListenerとしてとるという意味でしょうか。  以上宜しくお願いします。

    • ベストアンサー
    • Java
  • 起動引数の表示

    Java勉強中の初心者です。 起動引数の表示について お尋ねしたいことがあります。 起動引数が入力された場合には そのまま表示、無い場合は ”起動引数無し” と表示させたいのですが 下記のソースだと java.lang.ArrayIndexOutOfBoundsException のエラーが発生してしまいます。 このような場合はどのようにしたら よいのですか? よろしくお願いします。 ---------------------------------------------- public class Ren1 { public static void main(String args[]) { if(args[0].equals(null)){ System.out.println("起動引数無し"); } String s = args[0]; System.out.println(s); } }

    • ベストアンサー
    • Java
  • Java引数の...パラメータについて。

    知らないうちに、Javaの引数が変わっていました。。。 例えば、public void AAA(String... params) { } こんな感じで、String... な引数を表現できるんですね。。 そして、この意味って何でしょうか?? paramsは、任意の数の配列を持ちますよーって意味???っぽそうなんだけど。。。

    • ベストアンサー
    • Java
  • JavaScriptのreturnについて教えて

    ■Q1 ・JavaScriptで「return」に何も指定しなかった場合、戻り値は何でしょうか? ・「return false」とは意味が異なるでしょうか? ・「return true」と同じ意味? ■Q2 ・「それ以降の処理を中止したい」という意図で使用する場合、「return」も「return false」も同じ結果となるでしょうか? ・違うのは、戻り値だけ? ■Q3 ・「return false」と「returnを記述しない」では何が違うでしょうか? ■Q4 ・「イベントのバブリング」は、「戻り値の有無」とは関係がない話でしょうか? ■Q5 ・「return false」が適用されるのは「onclick」だけ? それとも「イベント全般」? ■Q6 ・イベントが絡まない箇所で、「return false」を使用することはない?

  • 一般的な引数の順序

    一般的な話として、複数の引数をもらうメソッドを作る場合、 引数はどのような順序にするのが一般的なのでしょうか? C#やJavaのメソッドを想定しています。 ご存知の方がいらっしゃいましたら、教えてくださいm(_ _)m