• ベストアンサー

if文の中の条件がfalseだった場合は、次の段階

if文の中の条件がfalseだった場合は、次の段階に進まないんですか?そこでストップということですか?

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

  • ベストアンサー
回答No.4

これは重要なことで、論理演算子の短絡評価を 考える場合に共通しており、 プログラミングを理解する上で必須のことですね。 短絡評価とは、条件が 「真」かつ「真」の場合は最初の命題が「偽」の場合 後ろの命題を評価せずスキップします。 同様に、 「真」または「真」であれば、最初が「偽」でも、 後ろを評価しないと、結果は分かりません。 逆に 「偽」かつ「偽」であれば、最初が「真」なら 後ろはスキップされ、 「偽」または「偽」だと、最初が「真」でも 後ろが評価されます。 if文もこれらと同じ考え方で記述(読解)すればよいでしょう。 if (真)→評価して「真」→if部分だけを実行 elseif (真)→ifが「偽」の時評価して「真」なら実行 else →両方共「偽」だと実行。 if節だけでelseifやelse節がない場合、ifが「偽」なら、 その文内の処理を実行せず、次に移る。  ※後の組み合わせは自分で考えてみましょう。 そういう考え方がプログラミングにおける「真偽判定」の 要諦です。

okwaveokw
質問者

お礼

ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.3

何言語の話なのか分からないので C言語だと仮定して返答いたします  if(条件式){なんか実行したいプログラムその1}  else{実行したいプログラムその2} のように書くと 条件式を満たす場合 プログラムその1が実行されその2は実行されません 条件式を満たさない場合 その1が実行されず、その2が実行されます elseが書いてない場合その1が実行されず if文の後に書いたプログラムが引き続き実行されます プログラムについて質問する場合は 自分が何言語を使っているのか書いたほうがいいと思います

okwaveokw
質問者

お礼

ありがとうございます

okwaveokw
質問者

補足

言語はphpですね elseは条件が満たされた場合は実行されないということですね? >条件式を満たさない場合 その1が実行されず、その2が実行されます >elseが書いてない場合その1が実行されず if文の後に書いたプログラムが引き続き実行されます ↑これはセットになっていますか?条件式を満たさない場合 かつ elseが書いていない場合ですか? >if文の後に書いたプログラムが引き続き実行されます 書いていない場合は1も実行されずそのまま終了ということですよね?

全文を見る
すると、全ての回答が全文表示されます。
  • mink6137
  • ベストアンサー率23% (595/2498)
回答No.2

いいえ。 falseだった場合にどうするかはそのプログラムの機能設計で決めてある事です。

okwaveokw
質問者

お礼

ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。
  • agehage
  • ベストアンサー率22% (2566/11422)
回答No.1

中括弧の中を実行せずに次の処理に移ります そこでプログラムが終わるわけではないです 質問することはとても良いことです しかし質問する前にどうなるか試してみるともっと良いです 良いプログラマは質問が上手なのより、自分で試してみるのです

okwaveokw
質問者

お礼

ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHP「FALSE」や「0」を使った条件文

    「if条件文」の()に「FALSE」や値「0」がはいると なにも考える事無く無条件に 「else」以降の条件が実行になるという決まりなのでしょうか? もしそうであれば条件分にする意味があるのでしょうか? 基本的な質問で申し訳ないのですが 実際に使われる分かりやすい簡単な例があれば ご紹介ください。 よろしくお願いいたします。 例1: if(FALSE){ echo "FALSEではない"; }else{ echo "FALSEです。"; } 例2: if(0){ echo "ゼロではない"; }else{ echo "ゼロです。"; } 例3:(特にこの例は何かおかしいような気がします) if(10-10){ echo "イフが実行"; }else{ echo "エルスが実行"; }

    • ベストアンサー
    • PHP
  • if(false) とは?

    次の内容を持つプログラムを見かけました。 if(false){ System.out.print("Hello"); } if(false) の意味を教えてもらえますか?

  • if文の中で否定演算子を使うことについて

    PHPの勉強をしています。 今、基礎的な内容の本とより実践的な内容の本、コードサンプルが満載の本の 計3冊で勉強しておるのですが、 たまたまなのかわかりませんが、この三冊の中ででてくるコードを見てみると、 if文の中に否定演算子、例えば IF(!A || !B) {   A、もしくはBがfalse だったのが反転してTrueになった場合の処理 }else {   A、Bどちらともtrueだったのが反転してfalseになった場合の処理 } といった条件文に否定演算子を含めたコードサンプルがほとんどです。 。。。。三冊ともこの調子なので もしかしてPHPのコーティング作法なのかな?と思いましたが ネットで検索してもそれらしい情報は見当たらず...... 自分が何がわからないのか それ自体よくわかってないのかもしれませんが IF文を使う際、条件に否定演算子を使うべきときってのがあるんだと思います。 となると、その時を判断する基準などがあるのでしょうか? 初心者なのでなにか重大な思い違いをしてるのではないかと思ってます。 なにか気づくことがあれば教えてください。

    • ベストアンサー
    • PHP
  • if文の条件に関数が入ってる場合はどうなりますか

    if文の条件の中に、関数が入っていました if (bit(exp,ps)){ res = (res*res); } このような感じです ちなみに、関数bitはこのようになっていました int bit(unsigned int exp, int ps){ return ((exp >> ps) & 1); } この場合、どういう条件のif文になるんでしょうか 「関数bitのリターンがあれば実行」ということでしょうか

  • 条件が複数ある場合のif文の書き方

    条件が一つだけの時は上手く動いたのですが、条件を複数にした場合はどう書いたらいいのかわからず、質問させていただきました。 『おしえて!!ACTION SCRIPT』という本を見ながら、Flashを作っています。 その中ではif文の書き方は if(条件式が正しかったら){  実行するスクリプト; } となっていますが、変数が複数あって、そのすべてが合致しないと指定のフレームに飛べないようにするためにはどう書いたらいいでしょうか? if(a==1){ gotoAndPlay(2); } if(b==1){ gotoAndPlay(2); } if(c==1){ gotoAndPlay(2); } と、続けて書くとa=1の時点でフレーム2に進んでしまうことになりますよね? そうでなく、a.b.c全ての変数が1の場合に、フレーム2に飛ぶようにしたいのです。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • if文が入れ子の場合の条件の解釈

    以下のようにif文が入れ子の場合についての質問です。 if(条件1){ if(条件2){ 実行内容1 } }else{ 実行内容2 } このような場合、条件1がTrueでも条件2がFalseであれば、実行内容2が実行されるのでしょうか?それともこのような場合、両方の実行内容(実行内容1及び2)が実行されないのでしょうか? もしも、上記で実行内容2が実行されない場合: やはり、条件1がTrueで、かつ、条件2=Trueの場合以外は全て実行内容2が実行されるようにするには、下記のように「and」で条件を繋ぐしかないのでしょうか? if(条件1 and 条件2){ 実行内容1 }else{ 実行内容2 } 「and」で条件を繋ぐ場合、各条件が長いとコードが見にくくて大変不便です。 何か良い方法をお知りでしたら、お教え下さい。記述方法が記載されているサイトのURL等でも結構です。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • if文の中のif文・・・について

    質問させていただきます。 if文の中のif文の記述の仕方について質問があります。 例えば if ( x > 0 ){ a = b+c; if ( a > 1) d = e+f; ・・・1 if ( a < 1) d = e-f; ・・・2 if ( a = 1 ) d = 1-g; ・・・3 } h = d + i; aが1より大きい場合は、1の処理を、aが1より小さい場合は2の処理を、aが1と同じであった場合、3の処理をして最終的に、h = d + i;の式の d に代入して h を求めたいと思っているのですが、うまくゆきません。 if文の中のif文の記述はどのようにすればよいのでしょうか? よろしければご教示よろしくお願いします。

  • phpでif文の条件の中はbool型なんですか?

    phpでif文の条件の中はbool型なんですか?

    • ベストアンサー
    • PHP
  • 条件文if について

    仮定法ではなく条件文のIf節の場合、主節でwould を取ることはあるのでしょうか? たとえば、 If we don't know the solutions, we will fail in the exam. というのが条件文だと思いますが、もしこれが If we don't know the solutions, we would fail in the exam. とは使えますか? If節のとき、主節にwouldを持ってくる場合は、仮定法だと思いますが、would には現在の推量の意味もあると思います。ならば、wouldでも使えるかどうか教えてください。

  • 初歩的な質問だと思います。IFの条件文

    よろしくお願いします。 PHPリファレンスに,以下のように書いてありました。 <?php if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { echo "$file\n"; } } closedir($handle); } ?> 2行目のifの条件文なのですが,=は代入することを表すから, ()の部分は条件文にならないと思ったのですが,どう解釈すれば良いのでしょうか。

    • ベストアンサー
    • PHP