【6】制御文【C#学習メモ】

if文

if文とは

ifは「もし~だったら」という意味です。条件によって処理を行うときに使います。

if(条件式)
{
(処理1)
}
else
{
(処理2)
}

条件式に当てはまる場合「処理1」を実行します。当てはまらない場合「処理2」を実行します。

連続して使用するif文です。

if(条件式)
{
(処理1)
}
else if(条件式2)
{
(処理2)
}
  else if(条件式3)
{
(処理3)
} else
{
(処理4)
}

この場合どの条件にも当てはまらない場合「処理4」が実行されます。

using System;

 class mosi
 {
    static void Main(string[] args)
    {
        int a = 9999;
        Console.Write(a+"は");
        if(0<=a&&a<10){
            Console.WriteLine("1桁の数です");
        }
        else if (10 <= a && a < 100)
        {
            Console.WriteLine("2桁の数です");
        }
        else if (100 <= a && a < 1000)
        {
            Console.WriteLine("3桁の数です");
        }
        else
        {
            Console.WriteLine("4桁以上の数です");
        }
    }
        
 }

実行結果は以下の通りです。
f:id:meryl_2525:20190620104743p:plain

for文

for文は繰り返し処理を効率よく行うための制御文です。

for((初期化の式);(条件式);(更新式))

using System;

 class mosi
 {
    static void Main(string[] args)
    {
        int a, b;

        for (a = 1; a <= 3; a++)
        {
            for (b = 1; b <= 3; b++)
            {
                Console.WriteLine(a+"×"+b+"="+(a*b));
            }
            Console.WriteLine();
        }

    }
 }

f:id:meryl_2525:20190620115045p:plain
実行結果です。

foeach文

foreach文は配列などのデータの集まりを1回ずつ呼び出して処理します。

foreach( (整数型) (要素を受ける変数名) in (配列名) );

using System;

 class mosi
 {
    static void Main(string[] args)
    {
        string [] Days= {"Mon","Tue","Wen","Thu","Fri","Sat","Sun" };

        foreach (string a in Days)
            Console.WriteLine(a);

     

    }
 }

実行結果です。
f:id:meryl_2525:20190620120040p:plain
配列が終わるまで実行します。

while文

while文は条件が成り立っている間処理を繰り返します。

while(条件式)

do~while文

do~while文は条件が下にくるため必ず1回は処理が実行されます。

do
{
(処理)
}while(条件式)


using System;

 class mosi
 {
    static void Main(string[] args)
    {
        int sum=0,sum2=0, i=0,j=0;

        do
        {
            ++i;
            sum += i;
        } while (i < 5);
        Console.WriteLine("1から5までの和は"+sum+"です");


        while (j < 5)
        {
            ++j;
            sum2 +=j;
        }
        Console.WriteLine("1から5までの和は" + sum2 + "です");



    }
 }

実行結果です。
f:id:meryl_2525:20190620121953p:plain

繰り返しの中断

break文

繰り返しの途中でbreak文が来ると一番近いブロックの終わりにジャンプします。

while(条件)
{
  (処理1)
break;
  (処理2)
}

ここでは「処理1」を実行し、「break」繰り返しを中断し、while文から抜け出します。「処理1」を1度実行したら、終わりです。

continue文

繰り返しの途中でcontinue文があるとその会の処理を中断し次の回の最初から実行します。

while(条件)
{
  (処理1)
continue;
  (処理2)
}

ここでは、「処理1」を実行し、「continue」でwhile文の最初に戻ります。条件に当てはまる間はし「処理1」を実行し、「処理2」は実行されません。


using System;


namespace renshu6
{
    class Program
    {
        static void Main()
        {
            int a=0,b = 0;

            while (a < 10)
            {
                a++;
                if (a % 3 == 0)
                {
                    break;
                }
                Console.WriteLine(a);
            }

            Console.WriteLine();

            while (b < 10)
            {
                b++;
                if (b % 3 == 0)
                {
                    continue;
                }
                Console.WriteLine(b);
            }
        }
    }
}

実行結果です。
f:id:meryl_2525:20190620130010p:plain
break文では3の倍数が来たら処理を中断しているのに対し、continue文では3の倍数のみ表示されていません。

swich文

swich文は複数のcaseという選択肢の中から条件に当てはまるものを選び、その処理を実行します。

swich(式)
{
  case(値1):
   (処理1)
   break;
  case(値2):
   (処理2)
   break;
  case(値3):
   (処理3)
   break;
  default:
   (処理1)
   break;
}

using System;


namespace renshu6
{
    class Program
    {
        static void Main()
        {
            int a;

            for (a=3;a<7;a++)
            {
                Console.Write(a+"÷3="+a/3);

                switch (a % 3 )
                {
                    case 0:
                        Console.WriteLine(" 余りは0です。");
                        break;
                    case 1:
                        Console.WriteLine(" 余りは1です。");
                        break;
                    default:
                        Console.WriteLine(" 余りは2です。");
                        break;
                }
            }
        }
    }
}

実行結果です。
f:id:meryl_2525:20190620134625p:plain