電子書籍の厳選無料作品が豊富!

お世話になっております。
今年の4月からjavaの学習を始めた者です。
初歩的なことでつまづいているので
アドバイスいただけると幸いです。

今研修で、講師の書いたコードを読んでみる、
という内容の講義を受けているのですが、
引数や戻り値がどこに渡されるのかが
ごちゃごちゃしてわからなくなります。
シーケンス図などを用いて流れを図式化すると
わかるようになるのですが、時間がかかるため
できればコードを見て判別できるようになりたいと
考えています。
講師の方に教えていただいたのは、sublime Textなどでcontrol + fでメソッド名検索して流れを掴む、
というものだったのですが、
「あー、ここにメソッド名があるなぁ…」
と感じるだけで、引数がどこに戻るかが
瞬時には判断できません。
あまりにもわからなすぎるので講師の方から「引数と戻り値がどこに渡されるかわからない、ってのが意味わからない。一つずつ確認すればわかることでしょ」と、半ば呆れられてしまい、とても辛いです。
皆様はどのようにして、引数と戻り値が渡される場所を瞬時に判別してるのでしょうか。
ご教授いただけると幸いです。

A 回答 (3件)

メソッドを使っている命令が分かれば、引数と戻り値がどれかは分かります。


それが分からないのであれば、Javaの文法が分かってないって気がするのですが、どうでしょう?
であれば、講師の方があきれられるのも当然だと思います。

ただ、そのメソッドが実際に何をやっているか?については、そのメソッドのある場所を探し、その中身を解析しなければいけないので、瞬時には分からないのは当たり前でしょうけどね。

もちろん、複雑なステートメントになると、混乱することもあるとは思いますけど、初心者向けのコードであれば、複雑すぎるものはたぶん使ってないと思いますが・・・。

ちなみに、別の言語であるC#では、ラムダ式に、メソッドチェーンなどで長い文があって、「これは引数だけど、単なる変数、じゃあなくてメソッド?」って、一目で理解するのが難しいことはあります。
    • good
    • 0

この質問を読んだだけでは、講師の方と同じ「引数と戻り値がどこに渡されるかわからない、ってのが意味わからない。

」というのが正直なところです。
もう少し具体的に書いていただけますか?

例えば
// それぞれ適切に宣言してあるとして
y = sin(1.3) ;
a = add_number(b,c) ;
plot_data(5,1,add_number(2,y)) ;

これを見たあなたは、どんな風に考えて、どこで「わからな」くなるのでしょうか?
逆に、どこは「わかっている」のでしょうか?


> 皆様はどのようにして、引数と戻り値が渡される場所を瞬時に判別してるのでしょうか。

慣れている人は、そんなの考えていません。
sin(1.3)
とあれば、 関数sin に引数1.3 を渡して、その「戻り値」がこの式の「値」になる、というのがjavaの基本の文法です。
そこがわからない、ということは、javaを最初から勉強しなおし、ということです。
    • good
    • 0

ご質問の文章を拝読しただけでは質問者様が何を理解できないのかがわかりません。



読んでいて思ったのですが
まず、「引数」や「戻り値」の意味は理解されているのでしょうか?
講義の前の方で「引数」や「戻り値」についての説明があったと思いますが
そこは問題なく理解されたのでしょうか?
「引数」や「戻り値」についてご自身で他の方に説明できますか?


もう一点

> 引数や戻り値がどこに渡されるのかが
> ごちゃごちゃしてわからなくなります。

これは講義の現段階で講師の方が書かれたプログラムの構造が複雑でわかり難いけれども、もっとシンプルな構成のプログラムだと理解できるということですか?


いずれにしても
理解が難しいと仰る具体的なプログラムソース(および理解可能な簡単なプログラムソース)を提示された方が良いかもしれません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!