【6】制御文【C#学習メモ】
if文
if文とは
ifは「もし~だったら」という意味です。条件によって処理を行うときに使います。
if(条件式)
{
(処理1)
}
else
{
(処理2)
}
連続して使用するif文です。
if(条件式)
{
(処理1)
}
else if(条件式2)
{
(処理2)
}
else if(条件式3)
{
(処理3)
} else
{
(処理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桁以上の数です"); } } }
実行結果は以下の通りです。
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(); } } }
実行結果です。
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); } }
実行結果です。
配列が終わるまで実行します。
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 + "です"); } }
実行結果です。
繰り返しの中断
break文
繰り返しの途中でbreak文が来ると一番近いブロックの終わりにジャンプします。
while(条件)
{
(処理1)
break;
(処理2)
}
continue文
繰り返しの途中でcontinue文があるとその会の処理を中断し次の回の最初から実行します。
while(条件)
{
(処理1)
continue;
(処理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); } } } }
実行結果です。
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; } } } } }
実行結果です。