Nanashi-softプログラマ専用Unityでゲーム開発


◇Unityでゲーム開発 -C#のforループ文-

●forループ文

for(初期化; 条件; 毎処理後){
    //処理内容
    //break;でループを抜ける(毎処理後は実行されない)
    //continue;で後続処理をスキップする(毎処理後は実行される)
    //goto ラベル;で指定ラベルにジャンプ
}

例)1から10までループしながら1ずつ加算
int i;
int a;

a=0;
for(i=0; i < 10; i++){
	a= a + 1;
}
Debug.Log("a:"+a);
Debug.Log("i:"+i);
結果)
a:10
i:10

例)aが5になったらループを抜ける
int i;
int a;

a=0;
for(i=0; i < 10; i++){
	if(a == 5){
		break;
	}
	a= a + 1;
}
Debug.Log("a:"+a);
Debug.Log("i:"+i);
結果)
a:5
i:5

例)aが5になったら後続処理をスキップ
int i;
int a;

a=0;
for(i=0; i < 10; i++){
	if(a == 5){
		continue;
	}
	a= a + 1;
}
Debug.Log("a:"+a);
Debug.Log("i:"+i);
結果)
a:5
i:10
※aが5になってもループは10回まで継続されている

例)2重ループから抜ける
int i;
int j;
int a;

a=0;
for(i=0; i < 10; i++){
	for(j=0; j < 10; j++){
		if(a == 5){
			goto label;
		}
		a= a + 1;
	}
}
label:;	//ラベルの後ろに:(コロン)が必須なので注意
Debug.Log("a:"+a);
Debug.Log("i:"+i);
Debug.Log("j:"+j);
結果)
a:5
i:0
j:0

例)各項目は省略可能
int a;

for( ; ; ){	//全部省略は無限ループになる
	if(a == 5){
		break;
	}
	a= a + 1;
}
Debug.Log("a:"+a);
結果)
a:5

例)複数初期化を記述するときは,(カンマ)区切りで列挙する
int i;
int a;

for(a=0,i=0; i < 10 || a == 5; i++){
	a= a + 1;
}
Debug.Log("a:"+a);
Debug.Log("i:"+i);
結果)
a:5
i:5

例)条件は2つ以上記述しても良い
int i;
int a;

for(a=0,i=0; i < 10 || a == 5; i++){
	a= a + 1;
}
Debug.Log("a:"+a);
Debug.Log("i:"+i);
結果)
a:5
i:5

例)毎処理後を複数記述するときは,(カンマ)区切りで列挙する
int i;
int a;

for(a=0,i=0; i < 10 || a == 5; i++, a= a + 1){
}
Debug.Log("a:"+a);
Debug.Log("i:"+i);
結果)
a:5
i:5


TOPプログラマ専用Unityでゲーム開発