プロが教えるわが家の防犯対策術!

Javaのローカル変数と引数に関して質問です。

ローカル変数について分からなかったため、調べていたところ、写真のようのなコードと説明がありました。

これに関して質問です。
①「kekka」がローカル変数だということはわかりました。それでは「aaa」は何に当たるのでしょうか?
インスタンス変数ですか?

②「int num」は引数だと思いますが、具体的にどんな働きをしているのでしょうか?
そもそもnumの立ち位置がわかりません…
numには特に数字も入っていないので、kekka+numは意味があるのでしょうか?


ホームページは下記のものです。
http://java.it-manual.com/method/local.html


初心者すぎて馬鹿にしたくなる気持ちもわかりますが、どうか優しい気持ちで回答いただけると嬉しいです。
研修で1人だけ理解が遅れていてさんざん凹んでいるので…( ;∀;)

「Javaのローカル変数と引数に関して質問」の質問画像

A 回答 (2件)

> 初心者すぎて馬鹿にしたくなる



いや、別にしませんよ。
少なくとも、1970年代辺りだったらこれは「最新の機能」です。
・・・と言う言い方すれば馬鹿にしてるように聞こえるかもしれませんが、実際問題、プログラミング言語って機能に機能を重ねて進歩してきてるんで、どのレベルだろうと「分かりづらい」事はあり得るのです。
また、正直、Java自体もとてもじゃないけど初心者向けのプログラミング言語じゃありません。
だから凹まなくて良いです。



> それでは「aaa」は何に当たるのでしょうか?

これもローカル変数です。・・・少なくともフツーのプログラミング言語だとそうなりますね。



>「int num」は引数だと思いますが

正解です。

> 具体的にどんな働きをしているのでしょうか?

関数(Javaだとメソッド)が実行する際に

「こんなモノが欲しい」

と言ってるだけです。
(この例だとint型の「何か」が欲しい、って言ってるだけ)

> そもそもnumの立ち位置がわかりません…

こういうのを「仮引数」と呼びます。
定義時には特に実体を伴ってないから、です。

> numには特に数字も入っていないので、kekka+numは意味があるのでしょうか?

定義時には数字が入ってません。
「実行時」はmainメソッドが起動された時、です。
method(aaa)が呼び出された時、ですね。
aaaは1なんで、int numにはこの時点で1が入って実行されます。
そうするとここで初めてmethod内でint numがaaa(1)で塗りつぶされてkekka + 1が実行されるのです。
    • good
    • 1
この回答へのお礼

一つ一つ丁寧にありがとうございます!

お礼日時:2021/04/29 01:11

mainメソッドの外側にあるのがグローバル変数で、それ以外は何かしらのローカル変数と思えば、しばらく大丈夫です。



numとかargは引数で、変数や定数などの各種オブジェクトを受け取ることができるものです。自販機で言うボタンとか、コイン投入口とかと思っておけば、しばらく大丈夫です。

少し学びを進めると、解釈が変化してくると思います。抽象的に、他の言語と比較できるようになってきます。
    • good
    • 1
この回答へのお礼

コインの投入口…
わかりやすい例えで何となくですが分かってきました!ありがとうございます!

お礼日時:2021/04/29 01:11

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