【Unityで学ぶC#プログラミング⑦】ループとは(while・do while・for・foreachループ)

プログラミング初心者向けのUnityで学ぶC#講座。
初心者にもわかりやすく、なるべく専門的な用語をなくして簡単に説明します。
今回は「ループ」についてです。
この記事を読み終えると、以下のことが理解できるようになります。
while ループ
do whileループ
for ループ
foreach ループ
ループはプログラミングで頻繁に使います。
これから他の言語を覚える時にも使えるので、しっかりと覚えていきましょう。
それではさっそく解説していきます。
ループとは
ループとは簡単に説明すると繰り返し処理のことです。条件分岐とともにプログラミングでよく使われます。
たとえば、敵キャラなどの特定のグループをライフ0にする。
オブジェクトに当たるまで銃弾を飛ばす。
アイテム全体から、特定の名前のアイテムだけを見つける。
などの処理につかわれます。
ループには主にwhile、do while、for、foreachなどの似たような命令があります。
それでは次に個々の詳しい構文を説明していきます。
whileループ
{
条件式がtrueの時、繰り返される処理
}
()内の条件式がtrueの間だけ{}の処理が繰り返されるループになります。
サンプルコードを見てみましょう。
変数”i”の値が6未満の場合、iに1を加えてコンソールにiの値が表示されるシステムです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class test : MonoBehaviour { // Start is called before the first frame update void Start() { int i = 0;//整数のデータ型iを宣言 while (i < 6)//iが6未満の場合という条件を設定 { Debug.Log("whileループ" + i + "回目です。");//コンソールに文字を表示 i++;//処理の最後に変数"i"に1を加えます } } } |

計6回の処理が繰り返され、コンソールに文字が表示されました。
do whileループ
{
条件式がtrueの時、繰り返される処理
}while(条件式);
do whileループの末尾には”;”が必要になります。
whileループと違いが無いと感じる方もいるかもしれません。ですが、do whileループは処理を実行してから条件式を判定するので、
whileループと同じ条件式と処理でも、場合によっては違う結果になります。
下記のdo whileループはwhileループと全くおなじ条件式と処理です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class test : MonoBehaviour { // Start is called before the first frame update void Start() { int i = 0;//整数のデータ型iを宣言 do { Debug.Log("do whileループ" + i + "回目です。");//コンソールに文字を表示 i++;//処理の最後に変数"i"に1を加えます } while (i < 6);//iが6未満の場合という条件を設定 } } |

whileループと同じ条件で同じ結果が確認できました。
forループ
{
ループ中に実行する処理
}
while/do whileループと違い、forループはあらかじめ指定された回数を処理します。
初期化子は一般的に使う変数はカウンター変数と呼ばれ、”i”を利用するのが一般的です。
下記のforループは「i<6」なので、カウンター変数が「0~5」の間、計6回実行されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class test : MonoBehaviour { // Start is called before the first frame update void Start() { for (int i = 0; i < 6; i++)//初期化子と条件、反復子を設定 { Debug.Log("forループ" + i + "回目です。"); //コンソールに文字を表示 } } } } |

ちゃんと条件の6回が実行され、コンソールに記述されました。
foreachループ
{
個々の要素を処理するコード
}
これまでのループとは少し違い、配列から取り出した要素を先頭から順番に処理します。
配列から取り出した要素を一時的に仮変数に格納。
配列の中身が無くなったらループは終了します。
下記のforeachサンプルコードは配列に入っている要素を全てコンソールに記述しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class test : MonoBehaviour { // Start is called before the first frame update void Start() { string[] jobs = { "勇者","魔法使い","格闘家","召喚士","剣士","盗賊"}; //配列を宣言、初期値を設定 foreach (string i in jobs)//仮変数と配列を設定 { Debug.Log("職業は" + i + "です。");//配列の要素をコンソールに表示 } } } |

配列の要素が全て記述され、ループが終了したのが確認できました。
今回のループ解説は以上になります。
最後まで読んでいただきありがとうございました。
おすすめ記事【現役Unityエンジニアが厳選】Unityを学ぶのにおすすめのプログラミングスクール3選
おすすめのUnityスクール
Unityが学べるおすすめのプログラミングスクールはTECH STUDIAMになります。
理由はゲーム開発に特化したプログラミングスクールであり、2ヶ月で9万円の授業料で他のプログラミングスクールに比べても安いからです。
興味のある方は、無料相談してみるのをオススメます。
ゲーム制作を学べるオンラインスクール TECH STUDIAM