是非對錯 - if 和 else


這個章節的重點,在於帶領讀者理解物件導向的概念,而非介紹單一個程式語法。此章節的程式語法和 JavaScript 等程式語言相近,但並非任何真實程式語言。請專注於章節中的概念部分,而非語法部分。



「 if 」判斷式


假設我們在撰寫一個網站,在登入時需要輸入正確的驗證碼才能正常登入,那我們便需要邏輯上的判斷。於是我們想要寫一個程式,在輸入正確時印出「登入成功」,在輸入錯誤時印出「登入失敗」。我們先從簡單的例子下手:

if(true){
    print('yes!');
}

上述程式碼,就是傳說中的 if 判斷式。電腦在執行時,會選擇性地執行大括號 {} 程式。什麼意思呢?當電腦看到 if 時,會試著尋找它後面的括號 () ,假設括號裡是 true,那麼電腦就會執行大括號裡的程式碼;反之,假設括號裡是 false ,那麼電腦將不會執行程式碼。

話又說回到最一開始的問題:寫出一個可以判斷驗證碼是否輸入正確的程式。假設我們已經有這段程式碼:

input = 1233;
print('登入成功');

其中,input 變數所帶的值是使用者所輸入的驗證碼。倘若今天,正確的驗證碼是 1233 ,那麼我們該如何達成目標呢?很簡單,只要使用 if 判斷式,就能輕鬆達成!像這樣:

input = 1233;
if(input == 1233){
    print('登入成功');
}

在執行時,電腦會這麼想:

「input == 1233」,而「input」代表的值是「1233」。;所以,「 input == 1233」,就是「1233 == 1233」; 因此: 「 input == 1233」就是「 true 」的意思

於是,上述那段程式碼,在經過電腦的思考後,會變成下面這樣:

if(true){
    print('登入成功');
}

螢幕上將會印出「登入成功」四個字。




「 else 」在「 if 」之後


假設我們輸入「 1233 」,那麼螢幕上會印出「登入成功」的字樣。但是,如同我們最一開始所說的,在輸入錯誤時,我們得在螢幕上印出「登入失敗」的字樣。這又要怎麼做呢?

input = 1234;
if(input == 1233){
    print('登入成功');
}

以上是我們上一個小節所寫的,並且我們將輸入的值由「1233」改作「1234」。如此一來,螢幕上應當要印出「登入失敗」的字樣。怎麼做呢?其實只要加上一些小小的修改,就可以達到目標嘍!

input = 1234;
if(input == 1233){
    print('登入成功');
}else{
    print('登入失敗');
}

我們在程式的最後加入 else。 else 一般會出現在 if 的大括號後面。假設今天電腦在執行時,發現在 if 後面括號 () 內出現了 false,那麼電腦就不會執行 if 後面大括號 {} 裡的程式,反而會執行 else 後大括號 {} 裡的程式


「 else if 」?!


很多程式語言中,除了 ifelse 之外,還有一個 else if 。你可能會好奇,else if 存在的意義是什麼?不是已經有 ifelse if 了嗎?其實, else if 的存在除了可以幫助電腦節省許多的判斷時間,還有很多其他的好處。所以它究竟是什麼?

讓我們用這個六分鐘的短片,學習 else if 的用途,並且為前面的 ifelse 作一個收尾與複習。



想想看


還有什麼情況下,我們會用到「 if 」和「 else 」?是不是很多時候我們都需要「 if 」和 「 else 」才行?


想想看 - 進階


a = 0;
if(a < 1){
    print(a);
}if(a < 2){
    print(a);
}

a = 0;
if(a < 1){
    print(a);
}else if(a < 2){
    print(2);
}

上面兩塊程式碼幾乎一模一樣,只有其中「 if 」和「 else if 」的差別而已。假設我們要執行這兩段程式,會不會有一樣的結果?為什麼?

最後,讓我們看個動畫收尾。


上一章節
下一章節
使用者分享的影片來自 YouTube。瞭解更多
+1 
感謝內容貢獻者 此篇文章由 1 位使用者共同編輯而成,並且由學呀的編輯團隊負責維護。點此查看編輯者名單。