p.108 逆順で繰返す(カウントダウン)
・forの①で開始値、②で終了値を用いた比較式、③でデクリメントを行うことで、逆順で繰返す(カウントダウン)が可能
・例(5から1まで): for(int i = 5; i >= 1; i--) {繰返し内容}
・デクリメントは省略構文として「● = ● - 1」を「●--」と表記できる
・デクリメントの仕組みはインクリメントと同じで、前置と後置があることも同じ
p.108 chap3_4_1
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class chap3_4_1 : MonoBehaviour {
void Start() {
for (int cnt = 5; cnt > 0; cnt--) { //1から5までの5回繰り返す
Debug.Log(cnt + "回目のハロー"); //カウンタの値に加算後連結して表示
} //forブロック(繰返し内容)の終わり
}
void Update() {
}
}
p.108 10ずつ増やす
・インクリメント、デクリメントの代わりに複合代入演算子(+=、-=)を用いることで、nずつ増やす(減らす)ことができる
・例: for(int i = 0; i < 50; i += 10) {…} //0, 10, 20, 30, 40で5回繰返す
ミニ演習:mini108a
・上の例「for(int i = 0; i < 50; i += 10) {…} //0, 10, 20, 30, 40で5回繰返す」を試してみよう
作成例
using UnityEngine;
public class mini108a : MonoBehaviour {
void Start() {
for (int i = 0; i < 50; i += 10) { //0, 10, 20, 30, 40で5回繰返す
Debug.Log("i = " + i);
}
}
void Update() {
}
}
ミニ演習:mini108b
・パブリック変数で整数xを受け取り、2からその値以下の全偶数を表示しよう ・例: xが9なら2,4,6,8。xが10なら2,4,6,8,10 ・なお、xが2なら2のみになり、xが1なら何も表示しなくて良い
作成例
using UnityEngine;
public class mini108c : MonoBehaviour {
public int x; //パブリック変数
void Start() {
int s; //スタートの値
if (x % 2 == 1) { //入力値が奇数?
s = x; //その値からスタート
} else { //偶数?
s = x - 1; //その値-1の奇数からスタート
}
for (int i = s; i >= 1; i -= 2) { //x以下の全奇数について降順で繰返す
Debug.Log("i = " + i);
}
}
void Update() {
}
}
提出:ミニ演習:mini108cの改良
・条件演算子を用いてシンプルにしよう ・スタートの値は「(x % 2 == 1) ? x : x - 1」となる