迴圈是程式中相當基本的招式

而且也是非常常用到的東西

雖然網路上有很多教學

但是基本上他們都是複製程式碼而已

對新手的人來說  很多都還不是很了解

不過沒關係  我會帶著你  了解程式的

迴圈的意思就是他會重複的執行

好比說 你數鈔票  會一張一張數  數到沒有為止

你的這個動作  就是迴圈

而迴圈的方法當然也很多種

在這我就講解for foreach while do-while 四種迴圈的用法

 

for迴圈

public class Test : MonoBehaviour {

    // Use this for initialization
    void Start ()
    {
        // 宣告一個int叫鈔票數量
        int banknoteAmount = 10;

        // for(在裡面宣告int名為i;當i小於鈔票數量就會執行;每執行完畢後會在把i+1)
        // 補充++的意思就是+1 你也可以使用i += 1 是一樣意思

        // 但是不建議 因為在程式++的計算比+=來的簡單


        for (int i = 0; i < banknoteAmount; i++)
        {
            Debug.Log("鈔票有" + (i + 1) + "張");
        }
        // 最後你就會在你的Console顯示出 "鈔票有1張....鈔票有10張" 了!!
    }
}

 

foreach迴圈

public class Test : MonoBehaviour {

    // Use this for initialization
    void Start ()
    {        
        // 這裡就用存摺表示 因為我們每個人的存摺應該不只一個吧!?
        // 宣告int陣列空間5 裡面塞1000, 2000, 3000...
        int[] BankBook = new int[5] { 1000, 2000, 3000, 4000, 5000 };


        // 先宣告i與陣列同類型 in 就是他的目標是哪個陣列
        foreach (int money in BankBook)
        {
            Debug.Log("此存摺剩餘:" + money);
        }        
        // 最後的結果應該是 "此存摺剩餘1000.....此存摺剩餘5000" 你也可以用字串來使用看看!
    }
}

while迴圈

public class Test : MonoBehaviour {

    // Use this for initialization
    void Start ()
    {
        // 打你的次數計算 一開始是0
        int KYouCount = 0;
        // 我要打你幾下
        int KYouMax = 10;

        // 這裡是判斷 如果我打你的次數沒有達到我要打你的次數  我就會一直打
        while(KYouCount < KYouMax)
        {
            Debug.Log("打你第" + (KYouCount + 1) + "下");
            // 每打完你一次 我就會+1
            KYouCount++;
        }
    }
}

do-while迴圈

(基本上這用法與while是一樣的, 只是變成先執行再判斷 如果你把KYouMax改為0 他一樣會先打他1下 你就把它當成先上車後補票吧XD)

public class Test : MonoBehaviour {

    // Use this for initialization
    void Start ()
    {
        // 打你的次數計算 一開始是0
        int KYouCount = 0;
        // 我要打你幾下
        int KYouMax = 10;

        // 這裡是判斷 如果我打你的次數沒有達到我要打你的次數  我就會一直打
        do
        {
            Debug.Log("打你第" + (KYouCount + 1) + "下");
            // 每打完你一次 我就會+1
            KYouCount++;
        } while (KYouCount < KYouMax);
    }
}

這邊先提醒一下新手

while在使用的時候很常會沒有++到

如果你打完別人沒加到 你就會一直打他 你的程式會把卡死

你可能就要強制關閉了

for基本上都會例行公事把i++打上 所以不會遇到這問題

foreach會依照陣列的長度執行 所以也不會有卡死程式的情況

基本上他們都能達到迴圈的需求

就看你想要用哪種招式了

如果有疑問也歡迎留言喔

arrow
arrow

    Weight 發表在 痞客邦 留言(0) 人氣()