• ベストアンサー

変数の宣言箇所

Foxtrot_OWの回答

回答No.3

>C言語とかの習性でしょうか。 そのとおりです。変数が必要になった時点で宣言したほうがスコープが小さくなり、多少はコードは読みやすくなったりミスが減ったりするかもしれません。それにも関わらず、長年のクセが抜けない人は少なくないようです。

関連するQ&A

  • CとC++の変数宣言について

    なぜC言語では変数の宣言をブロックの先頭でする必要があるのかがわかりません。 またC++がどこででも宣言できるのもなぜか教えてください

  • 変数の宣言と使用について

    こんばんは。 数日前から、Javaのプログラミングの学習をしている者です。 とある書籍を読んで、インターネットで調べながら学習しております。 (オブジェクト指向は学習しておらず、三大制御構造まで学習済です。) まだまだ無知な身分であり恐縮ですが、もしよろしければご教授下さい。 ある程度検索しましたが、既に同一の解決済み質問がありましたらご容赦下さい。 当方は、Javaの前にCOBOLとC言語を学習しました。 それらの言語では、変数宣言は処理の最初にまとめて記述していました。 (COBOLはデータ部、C言語は関数内の最初) Javaのソースコードを参考にすると、処理(メソッドブロックなどのブロック内) の最初にまとめて記述しているのではなく 「一文で使用直前に宣言して、同時に初期化代入している」のをよく見掛けます。 Javaでは使用直前に宣言して使用するのがルールであり、 宣言をブロック内の最初にまとめて行っておくのは御法度でしょうか? (個人的にはC言語と同じように記述したいですが、Javaでは逆に 読みにくくなってしまうため、よろしくないという解釈で正しいですか?) 変な質問で大変申し訳ありませんが、ご回答頂けますと嬉しいです。 以上、よろしくお願い致します。

    • ベストアンサー
    • Java
  • JavaとJavaScriptとの変数宣言の違いについて

    立て続けに自分の名前が3つも並び、お恥ずかしいばかりですが、またお訊きします。 自分は2年程前にPCスクールでJavaを学んだ者です。 結局は、実をむすぶ事無く現在進路を迷っているのですが。 そんな事はいいとして、変数宣言についてです。 Javaではメソッド内で宣言した変数は、そのメソッド内でしか使えませんが、JavaScriptではメソッドの枠を超えて使用できるのでしょうか。 基礎中の基礎で恥ずかしさもありますが、質問する事にしました。 他の質問ともどもどうぞ宜しくお願い致します。

  • method宣言に変数等を使って可変に宣言できるか

    method宣言時にmethod名に変数を利用して宣言する事はできるのでしょうか? ↓こんなような感じで $fuga = "test"; public function {$fuga}hoge() {  .... }

    • 締切済み
    • PHP
  • 変数の宣言について

    VBですけれども 変数の宣言なしに For i  ・  ・   ・ Next i などを記述しますと「変数の宣言がされていません」 というメッセージがでるのですが、テキストなどでは 変数の宣言などしていなくとも動作しますこれはどうして どういうことなのかご存知の方教えてください。 Dimとかの宣言もなしにです。 著書は 独習Visual Basic 6.0 などです。

  • 変数宣言は、最初に全部列挙したほうがいいですか?

    100行ぐらいのスクリプトだと、10個ぐらい変数宣言しなければいけませんが、 最初にまとめて書くメリットを教えてください。 ※他人のコードを読んでいて、最初にすべての変数宣言があったら、最初に戻らないとわからなくなり、その時、その時に、変数宣言があったほうがいいかなと。 ※言語によって違ってきますが、例えばJAVASCRIPTだとグローバル関数とローカルの問題があります。そのようなことを踏まえて、ご経験、ご意見を教えてください。

  • C言語での変数宣言の場所

    今まで2年ほどJavaを使っていましたが、最近になってCを使う必要が出てきました。Cは大学の頃に授業で学んだ程度のレベルです。 それはさておき。 JavaやC++ではメソッド内のどの場所ででも、新たな変数を宣言して使用できますが、Cでは関数内の最初の方でしか宣言できないですよね? 先日、その事を意識せずに、Javaと同じように変数を関数の任意の場所で宣言しているようなCのソースを書き、gccでコンパイルしたところ、コンパイルが通ってしまいました。 その時のファイルは「.c」ファイルです。 このソースはC++のソースとして、コンパイラが認識してしまったのでしょうか?拡張子が「.cpp」ではなく「.c」のままでしたが、コンパイラは拡張子ではなく、ソースを読み込んでから、そのプログラムがCなのかC++なのか判断しているのでしょうか? いまいちピンと来ないので、どなたか解説お願いします。

  • Javaの配列の宣言方法のメリット?

    1週間ほど前からJavaを独学している者です。 C言語をその前からやっていて、初心者レベル程度ならわかると思います。 そこで、質問です。 C言語の配列宣言:   int array[10]; Javaの配列宣言:   int array[] = new int[10]; 二つの言語とも、要素10個のarray1次元配列変数を宣言していると思います。 C言語の書き方はシンプルなので、納得がいきますが、Javaの方はどうしてこの形で宣言をするのかわかりません。(自分が言語製作者ならシンプルな書き方を採用します) だから、このような宣言の方法をとるということは何か理由があるのだと思います。 自分が思うところ、JavaはC言語より、柔軟で多機能だとおもうので、その影響で汎用性をますために、 長くなっているのかな~?と思っています。 こんごJavaの学習を進めていくと、例えば、   int array[] = new double[10]; //←エラーになりました みたいに型のちがう、宣言が出てきたりするのでしょうか? ちらっと、学習に使っている本をみたところ、動的配列の作成は別の操作で実現しているようなので、 「動的とは関係ないのかな?」と思っています。 長くなりましたが、Javaの配列宣言のメリットを教えてください。

    • ベストアンサー
    • Java
  • for文の中の参照変数について

    以下のように、 for文(例えば、10回ループ)の中で参照変数を宣言した場合、 1回目のループが終わったタイミングで、cccという変数はメモリ上から削除されるのでしょうか? 削除されないとしたら一つのメソッド内で同じ変数名が繰り返し宣言されることになるので 毎回削除されているのだとは思いますが。。 -------------------- method() { for(AAA aaa : bbb){ CCC ccc= null; } } -------------------- 教えて下さい。

    • ベストアンサー
    • Java
  • 変数・メソッドについて

    教えていただきたいのですが Javaでは静的変数・静的メソッド、 インスタンス変数・インスタンスメソッドという分類がありますね。 これはどういう違いがあるのですか? どういう処理の時にどのメンバを作成していくんだよー! という明確な区別はあるのでしょうか? どなたかご協力よろしくお願いします。

    • ベストアンサー
    • Java