こんにちは
たまに他の人が書いたコードをみていて、仮引数のない空白の""があるのですが、これはどういう意味でしょうか?
例えば、
public function aaa (){ hoge = ""; /*ここになにかメソッドはさまる*/ return hoge }
なぜ空白にしておくのですか
宜しければ回答お願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
function aaa(int X){ hoge = X; for(int i = 0; i < 10; i++){ X += i; } return hoge; }
これは仮引数のXの値がかえります。
処理後のXじゃなく、処理前のXの値です。
Xの値が10なら10、0なら0、1なら1が返ります。
function aaa(){ hoge = ""; for(int i = 0; i < 10; i++){ hoge += i; } return hoge; }
これは呼び出せば必ず10が返ります。
この部分はJavaも同じなような気がしたのですが違うのですね;;;
言語によって異なります。
【Java初心者】参照渡しのまとめ
結構めんどくさいんですよ
投稿2015/10/31 09:46
総合スコア856
0
/ここになにかメソッドはさまる/
の部分で、hogeを使っているのだろうと思われます。
そこで、使う前に
hoge="";
として初期化しているのだと思います。
それから、どうも会話が噛み合っていないように見えます。
question_aprilさん、用語が混乱してないでしょうか?
java
1public function aaa (){ //←仮引数がありません 2function aaa(int X){ //←仮引数としてxが指定されています 3hoge = ""; //←hoge変数に「長さ0の文字列」を入れてます
投稿2015/10/31 08:00
編集2015/10/31 08:14総合スコア23272
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
/ここになにかメソッドはさまる/
のところに具体的なコードが書かれていないのがヒントだと思います。
つまり、ここを将来変更するかもしれないし、入れ忘れちゃうかもしれない。
そういう想定外の状況になった時に、少なくとも型とか値を確定させたい場合に
hoge = "";
をすることで、「型は文字列型」「値はなし」とかになります。
これを初期化といいます。
(日本語にすると難しいですが、「変な値になるとやだから、とりあえず入れとくか」みたいな感じで、それほど深い意味はないです)
投稿2015/10/31 07:31
総合スコア52
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
この後の処理で,例えばループ処理で
java
1for(int i = 0; i < 10; i++){ 2 hoge += i; 3}
とした時,hogeの最初の状態は「何もない文字列」である必要があります.
ここでhogeの初期値が""なら,ループを抜けた時hogeは"0123456789"になりますが,
nullだと"null0123456789"となります.
あるいはif分岐などで文字を返す場合に,nullを返すと困る場合がある時,このような設定になります.
投稿2015/10/31 06:07
総合スコア20651
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/31 06:17
2015/10/31 06:20
2015/10/31 06:24
0
/ここになにかメソッドはさまる/
の個所で値が取れなかった場合、変数hogeにはNULLだったりUndefinedだったり
言語によりますが意図しない値が入っていることになります。
初期化しておくことでそれを回避できます。
投稿2015/10/31 06:05
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/31 06:22
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。