![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
お世話になっております。
今年の4月からjavaの学習を始めた者です。
初歩的なことでつまづいているので
アドバイスいただけると幸いです。
今研修で、講師の書いたコードを読んでみる、
という内容の講義を受けているのですが、
引数や戻り値がどこに渡されるのかが
ごちゃごちゃしてわからなくなります。
シーケンス図などを用いて流れを図式化すると
わかるようになるのですが、時間がかかるため
できればコードを見て判別できるようになりたいと
考えています。
講師の方に教えていただいたのは、sublime Textなどでcontrol + fでメソッド名検索して流れを掴む、
というものだったのですが、
「あー、ここにメソッド名があるなぁ…」
と感じるだけで、引数がどこに戻るかが
瞬時には判断できません。
あまりにもわからなすぎるので講師の方から「引数と戻り値がどこに渡されるかわからない、ってのが意味わからない。一つずつ確認すればわかることでしょ」と、半ば呆れられてしまい、とても辛いです。
皆様はどのようにして、引数と戻り値が渡される場所を瞬時に判別してるのでしょうか。
ご教授いただけると幸いです。
No.1ベストアンサー
- 回答日時:
メソッドを使っている命令が分かれば、引数と戻り値がどれかは分かります。
それが分からないのであれば、Javaの文法が分かってないって気がするのですが、どうでしょう?
であれば、講師の方があきれられるのも当然だと思います。
ただ、そのメソッドが実際に何をやっているか?については、そのメソッドのある場所を探し、その中身を解析しなければいけないので、瞬時には分からないのは当たり前でしょうけどね。
もちろん、複雑なステートメントになると、混乱することもあるとは思いますけど、初心者向けのコードであれば、複雑すぎるものはたぶん使ってないと思いますが・・・。
ちなみに、別の言語であるC#では、ラムダ式に、メソッドチェーンなどで長い文があって、「これは引数だけど、単なる変数、じゃあなくてメソッド?」って、一目で理解するのが難しいことはあります。
No.3
- 回答日時:
この質問を読んだだけでは、講師の方と同じ「引数と戻り値がどこに渡されるかわからない、ってのが意味わからない。
」というのが正直なところです。もう少し具体的に書いていただけますか?
例えば
// それぞれ適切に宣言してあるとして
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を最初から勉強しなおし、ということです。
No.2
- 回答日時:
ご質問の文章を拝読しただけでは質問者様が何を理解できないのかがわかりません。
読んでいて思ったのですが
まず、「引数」や「戻り値」の意味は理解されているのでしょうか?
講義の前の方で「引数」や「戻り値」についての説明があったと思いますが
そこは問題なく理解されたのでしょうか?
「引数」や「戻り値」についてご自身で他の方に説明できますか?
もう一点
> 引数や戻り値がどこに渡されるのかが
> ごちゃごちゃしてわからなくなります。
これは講義の現段階で講師の方が書かれたプログラムの構造が複雑でわかり難いけれども、もっとシンプルな構成のプログラムだと理解できるということですか?
いずれにしても
理解が難しいと仰る具体的なプログラムソース(および理解可能な簡単なプログラムソース)を提示された方が良いかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- 予備校・塾・家庭教師 塾の中途解約について 1 2023/04/16 00:19
- 大学受験 娘の大学受験勉強 6 2022/06/30 19:58
- カップル・彼氏・彼女 携帯を見てしまった。彼女と講師の事 2 2023/07/02 11:58
- 予備校・塾・家庭教師 昔の河合塾の単科(英語)について 1 2022/12/28 02:23
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- いじめ・人間関係 集団ストーキング 7 2023/05/19 12:14
- その他(暮らし・生活・行事) 美容師さんの産休育休後のことについて質問です。 ずっとお世話になっていた美容師さんが出産で1年お休み 3 2023/04/11 23:49
- 専門学校 25歳の社会人のものなのですが 3dcgデザイナーになりたくMayaを独学で勉強していたのですが社会 1 2023/07/03 09:23
- 大学受験 3浪しようと思うので、アドバイスお願いします。 自分としては結構メンタルきつくて後期でいいから、東京 3 2023/02/13 21:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
【sendkeysメソッドが動かずに...
-
final修飾子を使っているのに、...
-
JAVA初心者です。JAVAで音を鳴...
-
VBPをダブルクリックするとたま...
-
struts使用時のメソッド
-
タブコントロールの問題 (VB)
-
DataGridViewでセルクリックイ...
-
c#でVBのcall的役割を果たすコ...
-
シンボルを解決できません。 ...
-
エクセルVBAにおけるON TIMEメ...
-
特定の文字でReplaceメソッドが...
-
引数で日付を2つ与え、その間の...
-
Eclipseで呼び出し元参照をしたい
-
JAVA コンパイル時のエラー
-
『増加する』メソッド名は?
-
java 次の機能を有するメソッド...
-
setTimeoutメソッドでローカル...
-
onClickで関数呼出し後に、結果...
-
localhostで.htmlを表示したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
final修飾子を使っているのに、...
-
JSPで<SELECT>の中にDBから持っ...
-
Labelコントロールに数字を代入...
-
エクセルVBAにおけるON TIMEメ...
-
javascriptからjavaを呼び出したい
-
DataGridViewでセルクリックイ...
-
VBPをダブルクリックするとたま...
-
onClickで関数呼出し後に、結果...
-
コマンドプロンプト実行後に画...
-
配列のメソッド
-
日本の教育って時間が無い中で...
-
Refreshメソッドの使い方
-
mainメソッドのthrows節で設定...
-
【sendkeysメソッドが動かずに...
-
C# 演算 最大値 最小値 表現の仕方
-
VBA コピーが出来ません…!
-
Application.Wait の参照設定
-
ウィンドウを最前面にできません
-
for文(拡張)内の変数(ローカ...
おすすめ情報