注意:きれいな写真やゲーム、ガジェットネタが転がっています。

    駆け出しプレーヤーの通信

    ちかにプログラミング教えるけど何か?C#入門[3-1]if文1 条件分岐の基本

    ◆登場人物

    o4_15.png牧野千佳

    ゲームを作りたい(学校で流行っているため)女子大学生。

    ノベルゲームの作成が目標。
    o56_2.pnglog

    管理人。

    趣味はコーティング。
     
    ◆アウトライン
    o56_2.png「今回は、プログラミングのかなめとなる『条件分岐』を解説します。」
    o4_2.png「はーい。でも・・・
    じょうけんぶんきってなにー?」
    o56.png「ノベルゲームだと、例えば好感度が50以上だとハッピーエンド、
    40未満だとバッドエンド。攻撃力が1500以上だと開けられる宝箱とか」
    o4_2.png「ふーん。で、必要なの?」
    o56_4.png「いるよ!プログラミングの7割は条件分岐でできています!」
    o4_2.png「へー。」
    o56_2.png「他人事みたいに言わない!これ、重要なんだからな!」
    o4_4.png「はい・・・」
    o56.png「じゃ、文法の説明から。if A,Bって英語を知ってますよね。
    もしAなら、Bってやつ。こういうことをやるよ。
    プログラムでは、
    if(A){
        B
    }みたいに書くよ。」


    ◆if文
    条件を満たす場合はA、という処理をするときif文を使用します。
    書き方は以下の通りです。

    if(条件式){
    (条件を満たすときに行う処理)
    }else{
    (条件を満たさない時の処理)
    }


    のように記述します。条件式(正確には比較演算子)は下の表に掲載しています。
    if A,Bと似てますよね。
    例えば、変数aが7と等しい時は、

    if(a==7){
    (条件を満たすときに行う処理)
    }else{
    (条件を満たさない時の処理)
    }


    となります。このとき、=(イコール)は2つあることに注意して下さい。
    イコールが1つなのは代入です。等値比較は2つです。

    例文は以下の通りです。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace practice
    {
    class Program
    {
    static void Main(string[] args)
    {
    int i = 7;
    //文字列が4と等しいならば0と出力
    if (i == 9)
    {
    Console.WriteLine("条件を満たす");
    }
    else
    {
    Console.WriteLine("条件を満たさない");
    }
    Console.ReadLine();
    }
    }
    }


    ==(等しい)以外の条件式も存在します。
    A==BAとBが等しい
    A>=BAがB以上(数値のみ)
    A<=BAがB以下(数値のみ)
    A>BAがBより大きい(数値のみ)
    A<BAがB以下(数値のみ)
    A!=BAとBが等しくない
    ※不等号は算数数学の扱いと同じです。
    ※上の条件式を満たすとき、trueとなります。満たさないとfalseになります。
    例:5>4はtrue、5<4はfalse
    if()の括弧部分の式がtrueのときに、「条件を満たす」とします。
    falseのときは「条件を満たさない」となります。

    つまり・・・

    if(a>7){
    (条件を満たすときに行う処理)
    }else{
    (条件を満たさない時の処理)
    }

    この場合、検討する条件はaが7より大きいかどうかです。

    また、elseは省略することもできます。条件を満たさない時の処理がない場合は、

    if(a>7){
    (条件を満たすときに行う処理)
    }

    のように書くことも可能です。この場合aが6のときは何もしません。





    ◆else if
    Aはみたさないとき、Bをみたすときの処理は以下のように記述します。

    if(条件式1){
    (条件式1をみたすときに行う処理)
    }else if(条件式2){
    (条件式1を満たさないが条件式2をみたすときに行う処理)
    }



    ◆文字列の比較
    文字列(string)の比較については、「C#」では数値と同様に以下のようにやっても構いません。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace practice
    {
    class Program
    {
    static void Main(string[] args)
    {
    string str = "4";
    //
    if (str == "4")
    {
    Console.WriteLine(0);
    }
    Console.ReadLine();
    }
    }
    }


    ただし、以下のように
    str.Equals(文字列)

    でやることをお勧めします。strはstring変数です。
    C#でない言語の場合、文字列の比較はイコール2つではできないことが多くなっているからです。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace practice
    {
    class Program
    {
    static void Main(string[] args)
    {
    string str = "4";
    //文字列が4と等しいならば0と出力
    if (str.Equals("4"))
    {
    Console.WriteLine(0);
    }
    //文字列が4と等しくないらば0と出力
    if (!str.Equals("4"))
    {
    Console.WriteLine(0);
    }
    Console.ReadLine();
    }
    }
    }
    ※str.Equals("4")とは、strが4と等しいかどうかで、等しいとtrue、等しくないとfalseです。

    ◆練習問題

    問1.パスワードを入力させて、「hogehoge」と入力していたら正解と、
    それ以外の文字が入力されている場合は間違いと出力するようにせよ。

    問2.数値を2つ入力する。もし2つの数値の和が20以上ならば「さとちゃん」と、10以下の場合は「はむたろー」と、それ以外の場合は何も出力しないプログラムを作成せよ。

    3-2 if文のネスト/AND,OR
    練習問題の回答
    トップへ戻る
    テーマ : プログラミング    ジャンル : コンピュータ
    1. ちかぷろ(C#講座)
    2. / trackback:0
    3. / comment:0
    4. [ edit ]


    comment


     管理者にだけ表示を許可する
     

    trackback


    « 2014 12  »
    SUN MON TUE WED THU FRI SAT
    - 1 2 3 4 5 6
    7 8 9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30 31 - - -

    検索フォーム

    ブロとも申請フォーム

    にほんブログ村バナー



    .