質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

5回答

1314閲覧

仮引数のない空白の""はなんですか?

question_april

総合スコア90

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2015/10/31 06:02

こんにちは

たまに他の人が書いたコードをみていて、仮引数のない空白の""があるのですが、これはどういう意味でしょうか?

例えば、

public function aaa (){ hoge = ""; /*ここになにかメソッドはさまる*/ return hoge }

なぜ空白にしておくのですか

宜しければ回答お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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

anonymouskawa

総合スコア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
Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

/ここになにかメソッドはさまる/
のところに具体的なコードが書かれていないのがヒントだと思います。

つまり、ここを将来変更するかもしれないし、入れ忘れちゃうかもしれない。
そういう想定外の状況になった時に、少なくとも型とか値を確定させたい場合に
hoge = "";
をすることで、「型は文字列型」「値はなし」とかになります。

これを初期化といいます。
(日本語にすると難しいですが、「変な値になるとやだから、とりあえず入れとくか」みたいな感じで、それほど深い意味はないです)

投稿2015/10/31 07:31

hpfoon

総合スコア52

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

question_april

2015/10/31 07:38

回答ありがとうございます >>「変な値になるとやだから、とりあえず入れとくか」みたいな感じ とおっしゃていますが、””は空ではないのですか? すみません。 宜しければまたの回答をお願いいたします
hpfoon

2015/10/31 07:44

箱のタイプとしては文字列型だけど、中身は空っぽみたいな感じだと思います。 (ここらへんは言語にもよると思います・・・多分)
cateye

2015/10/31 09:15 編集

>””は空ではないのですか? 宣言するだけで初期化してくれる言語もあるのでなんともいえませんが、少なくとも「何もしてない」と「初期化してある」は意味が違います。
guest

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

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

question_april

2015/10/31 06:17

回答ありがとうございます! また質問になってしまうのですが、 空白にしておくことができるのなら、仮引数はいらないのではないでしょうか? あれ?混乱しているので変な質問かもしれませんが、 空白にしておいて、あとから中に入れて行こうとおもうなら、仮引数で function aaa(int X){ hoge = X; for(int i = 0; i < 10; i++){ X += i; } return hoge } と同じですか?
swordone

2015/10/31 06:20

そのコードはJavascriptですか? そっちの仕様はよく知らないのでごめんなさい.
question_april

2015/10/31 06:24

この部分はJavaも同じなような気がしたのですが違うのですね;;; 難しいですね
guest

0

/ここになにかメソッドはさまる/

の個所で値が取れなかった場合、変数hogeにはNULLだったりUndefinedだったり
言語によりますが意図しない値が入っていることになります。
初期化しておくことでそれを回避できます。

投稿2015/10/31 06:05

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

question_april

2015/10/31 06:22

回答ありがとうございます! >>言語によりますが意図しない値が入っていることになります。 初期化しておくことでそれを回避できます。 少し難しいですm(__)m がんばります
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問