見出し画像

#6 「繰り返し」C#を分かりたい(プログラミング素人の備忘録)

どうも、最近C#をかじり始めたのでマガジン作って、シリーズぽくしていきたいと思っています。

今回は、繰り返しについてです。

注意

この記事(今シリーズ)は初心者がC#をかじりながら、備忘録のような形で投稿していく予定です。
そのため、今シリーズ全体を通して正確性を欠く場合もあるかと思います。
また専門の方などから見れば、無茶苦茶なこと、おかしなことをしているかもしれませんが、ご容赦ください。

前回


繰り返しとは

プログラミングにおける繰り返しとは、指定した範囲のプログラムを指定した回数、繰り返し実行させる処理です。

C#では大きく分けて、for文とwhile文の二つがあります。

for

for文は()内の式を満たす場合に繰り返します。
構文は以下の通り

for(int i=0; i<3; i++)
{
//処理内容
}

(int i=0; i<3; i++)とは、int型のiという繰り返し処理用の変数を0に初期化し、i<3の場合、繰り返すたびにi++(i=i+1)する、という意味になります。
それぞれ左から初期化セクション、条件セクション、反復子セクションと呼ばれます。

そうすると、(int i=0; i<3; i++)は{}内の処理を3回することになります。
3回ずつのiの値は0,1,2となります。iが2になった時点で、for()内のi++によってiが3になるため、i<3を満たさなくなるため}以降の処理を行います。

反復セクションには、インクリメント、デクリメント、代入、i+3などの式も使用できます。そのほかにもメソッドの呼び出しなども出来るようです。

また、for文もネスト(多重)出来るようです。

while

while文は()内の式が満たされる限り、何度でも繰り返します。
構文は以下

int i=0; //条件のためのiの初期化
while(i<1)
{
//処理内容
}

この場合はi<1が満たされ続けるので、処理が永遠に繰り返されます。
while文内でifなどで条件を指定して、iを1にしてループを抜け出すことや、break;を置いて抜け出す、なども出来ます。

whileを抜け出す方法

whileから抜け出すには以下のような方法があります。

  1. break;

  2. iを条件から外す

それぞれの違いですが、break;は問答無用でbreakが実行された後はwhileの}次の処理が実行されます。iを条件から外す(上記の場合はiを1以上にする)と、次にwhile()までの処理は行います。以下例

//break使用例
int i = 0;
while(i < 1)
{
 //処理1
 break;
 //処理2
}
//処理3

breakを使用した際は、処理1→処理2の順で実行されます。

//条件から外す
int i = 0;
while(i < 1)
{
 //処理1
 i = 1;
 //処理2
}
//処理3

whileの条件から外すと、処理1→処理2→処理3の順で実行されます。
これは、while文ではwhile()のコードで反復するか決定するためです。

whileで先頭に戻る方法

continueを使用します。

int i = 0;
while(i < 1)
{
処理1
continue;
処理2
}

continueがあるため、処理1→処理1のように反復します。

抜け出す方法もそうですが、基本的にはこれらのプログラムはifなどで~の場合抜け出す、などの運用になりそうです。

do while

do whileとは、whileの前に一度は無条件で実行するということです。

int i=0; //条件ようのi
do
{
//処理内容
}while(i<1);

この場合、//処理内容が一度は必ず処理されて、その後もi<1を満たし続けるため、処理が繰り返されます。もしiの値が2になっていたら、以降の処理が進みます、

まとめ

今回は繰り返し処理についてでした。

繰り返しにはforとwhileがあり、forは(初期化;条件;反復処理)、whileは()内の条件が満たされる限り、do whileは一度は実行です。

for(i=0;i<1;i++)
{
}

int i = 0;
while(i == 0)
{
}

do
{
}while(i == 0)

実はforeachとうものもあるらしいのですが、これは配列を勉強しないと分からそうなので、配列やってから追記しようと思います。

次回予告

次回は配列の予定です。ただ、この辺りから自分の理解と勉強が出来ていないので、遅れるかもしれません。

次回

参考

主に参考にさせていただいた、ウェブサイトや書籍のリンクです。
すべてではないですが、ありがとうございます。

「C#ガイド」

「++C++; //未確認飛行 C」

「スラスラ分かるC# 第2版」

「一週間で身につくC#言語の基本」

いいなと思ったら応援しよう!