• ベストアンサー

for( ; ; ) ?

for(;;)というのは、どういう時に使うんですか? そしてどんな働きをするものなんでしょうか?

  • era
  • お礼率38% (12/31)
  • Java
  • 回答数5
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
noname#16216
noname#16216
回答No.5

皆さんの言うように「無限ループ」です。 自分が意識したタイミングでのみ処理を終了させたい場合に利用します。 基本的には、 for(;;) {  if(method1()) {   break; } } のように記述し、method1という関数がtrueを返したときだけ、 ループを終了するといった行為で使用します。 GUIを扱うソフトウェアでは一般的に使われます。 # ユーザが終了ボタンを押したときに、プログラムを終了するなど こうしておかないと、ソフトウェアを立ち上げて、一定時間したら 勝手にプログラムが終了してしまったりするので。。。 ちなみに、for(;;)とwhile(true)のどちらを使うかはその人のコーディングスタイルだと思います。動作的には全く同じです。。。 通常のループでも、for文とwhile文のどちらでも作れますから、その延長として無限ループを使うときに書き慣れた方を使うことが多いようです。

era
質問者

お礼

お礼が遅くなり、 しかもみなさんそれぞれにお礼を言えなくてすいません。 みなさんすごくわかりやすかったです。 ありがとうございました。

その他の回答 (4)

  • sueoka
  • ベストアンサー率38% (24/62)
回答No.4

「無限ループ」と言うやつですね。 while(true) { } と言うのも同じ動作をします。 普通はwhile(true)を使うと思っているんですが・・・ for(;;)にメリットがあるかどうかは分かりません。 無限ループは処理の終了がいつになるか分からない処理を 永遠と行うために使ったりします。 (たとえば何かのファイルを監視して、そのファイルが更新されるまで 次の処理を行わないようにする・・・など) ただし、無限ループの構文の中で外に抜け出す部分を作成しないと、 いつまでたっても終わらなくなってしまいます。 「break」をお忘れなきよう。

  • selenity
  • ベストアンサー率41% (324/772)
回答No.3

ループから抜け出したくない場合に使います。 たとえば定期的にエンドレスで何かをチェックしたい ような場合に使うことがあります。 # 実際にはプログラムになれた人は別な記述を # しますが、、、 while(1); と書いても同様です。

  • arthur
  • ベストアンサー率34% (15/43)
回答No.2

無限ループを表すものですね。 普通for文の中にはループのための条件が入るのですが、 「;」を2つだけで中のループ条件を省略(というかループ条件なし)にしています。 条件がないということはfor文を終了するための条件がないことと同じなので、 延々とループを回りつづけることになるのです。 無限ループなので当然中でなんらかの形でループを抜けるための命令を入れないと、 いつまでたってもプログラムは終了しません(笑) Javaは経験ないですが意味はこれであっているはずです(笑)

  • Haizy
  • ベストアンサー率40% (404/988)
回答No.1

こんにちは。 Cや、C++でも、同じなのですが、 FOR分を用いた 永久ループです。 どこかに抜け道、作らないと大変な事になります。 ~~終わんない~~~ でわでわ

関連するQ&A

  • フォアが使えなくなってしまって

    僕は卓球を始めた時バック側が苦手だったのでバックを中心に練習したらフォアが使えなくなってしまいました。 なんかフォアがうまくなる練習方法ありますか?

  • スマート フォーフォー

    スマート フォーフォーってどんなクルマですか?

  • フォアのラリーについて

    僕はいつもフォアのラリーの時にフォアで打つときに何故かドライブがかかってしまいます。 友達には「大会とかでラリーの時にドライブかけたりしてると嫌われるぞ」と言われてしまい、どうしようかと思ってます。 ドライブがかからないようにフォアを打つにはどうすればいいですか?

  • 仮定法 if it were not forについて

    if it were not forのforの働きがいまいちわかりません。if it were not forはなぜif it were notではいけないのでしょうか。be動詞には「ある,いる」などの存在の意味があるはずですが。また、forは前置詞であるはずですが、どういった役割なのでしょうか? 回答宜しくお願いいたします。

  • for文にて +=の意味がわかりません。

    最近ActionScriptの勉強を始めたのですが、for文にてわからない部分があります。内容は、 1から1000までの足し算を繰り返し行い、その合計値をmessage_txtに代入するアクションスクリプトを書きたい 最終的に答えは以下らしいのですが、ans+= i; という文の中で、「+=」がどういう働きをしているのかがよくわかりません。 どなたかわかりやすく解説していただけませんでしょうか? var ans = 0; for (var i = 1; i<=1000; i++) { ans += i; } message_txt.text = ans;

    • ベストアンサー
    • Flash
  • スマート・フォーフォー

    スマート・フォーフォー 友人と久しぶりに食事に行った際、Aさんがスマート・フォーフォーを乗って来ました。 車に詳しいBさんは「フォーフォーって、三菱のコルトとプラットホームが共通の姉妹車だよね?」と何気に言った途端、Aさんは「そんな安い車と一緒にしないで」と怒りました。 でも事実ですし、国産車に外国メーカーのバッチをつけるレベルではなく、全くデザインが違う国産車と外車のプラットホームが同じって事はよくあることだと思うのですが。 Aさんは外車を乗っていると言う自尊心を傷つけられたと思っているのでしょうか? それとも、Aさんの中では評価が低い三菱の車と一緒にされたのが嫌だったのでしょうか? 因みに私は外車にあこがれていますが、今現在三菱の車に乗っているので「そこまで怒ることないのに」と思い、Aさんは大人気なく感じました。

  • forに出来てwhileに出来ないことって

    ないですよね? 逆に whileに出来てforに出来ないことはありますよね? 例えばインクリメントしないループなどがそうです。 このような理解であっておりますでしょうか? 本には、 forは繰り返す回数が決まっている時に使い whileは繰り返す回数が決まってない時に使う と書いてありましたが、 僕はwhileですべて間に合うと思うのです。 とするなら、forは何で存在するのかという疑問にぶちあたります。 じっくり考えてもわかりませんでした。 よろしくお願い致します。

  • toとforの使い方

    ラジオで英語を勉強しています。 toとforの使い方の違いがわかりません。 問題で(1)What is the most difficult for you? (2)What is the most important to you? (1)と(2)でfor+personとto+personでどんな時にforを使い、どんな時にtoを使うのかを教えて下さい。よろしくお願いします。

  • for文

    for文ですが、入れ子になってるので、 i が1の時、iが1 i が1の時、iが2 i が1の時、iが3 ・・・ i が2の時、iが1 i が2の時、iが2 i が2の時、iが3 ・・・ iが3の時、iが1 iが3の時、iが2 iが3の時、iが3 ・・・ 上記の様な増え方ではなかったのですが、 実行結果 123456789 どの様に読むか、教えてください。 for文でiを二回使っているのでバグっているのですか? int i; for(i=1;i<10;i++) for(i=1;i<10;i++) printf("%d",i);

  • for work 使い方

    What do you do? と聞かれて、 For work? 仕事ですか? と言う会話があったのですが、 このforの使い方がわかりません。 なぜforなのでしょうか? aboutやtoなどとの違いを知りたいです。 ~ですか?と相手の会話の内容を確認する時、全てfor~で聞き返せますか?

専門家に質問してみよう