尚未建立名稱
能量:0
我的帳號中心
問 學Bot 任何問題!
首頁&搜尋
最愛&收藏
所有課程
分享資源
帳號設定
關於學呀
線上募款
章節設定
章節名稱
章節類別
章節標籤
或者建立新標籤
章節內容
全螢幕編輯與預覽
# 是非對錯 - if 和 else ::: suggestion 這個章節的重點,在於帶領讀者理解物件導向的概念,而非介紹單一個程式語法。此章節的程式語法和 JavaScript 等程式語言相近,但並非任何真實程式語言。請專注於章節中的概念部分,而非語法部分。 ::: ::: youtube fVUL-vzrIcM ::: ## 「 if 」判斷式 假設我們在撰寫一個網站,在登入時需要輸入正確的驗證碼才能正常登入,那我們便需要邏輯上的判斷。於是我們想要寫一個程式,**在輸入正確時印出「登入成功」,在輸入錯誤時印出「登入失敗」**。我們先從簡單的例子下手: ``` if(true){ print('yes!'); } ``` 上述程式碼,就是傳說中的**if 判斷式**。電腦在執行時,會選**擇性地執行**大括號 `{}` 程式。什麼意思呢?當電腦看到 `if` 時,會試著尋找它後面的括號 `()` ,假設括號裡是 `true`,那麼電腦就會執行大括號裡的程式碼;反之,假設括號裡是 `false` ,那麼電腦將不會執行程式碼。 話又說回到最一開始的問題:寫出一個可以判斷驗證碼是否輸入正確的程式。假設我們已經有這段程式碼: ``` input = 1233; print('登入成功'); ``` 其中,`input` 變數所帶的值是使用者所輸入的驗證碼。倘若今天,正確的驗證碼是 1233 ,那麼我們該如何達成目標呢?很簡單,只要使用 if 判斷式,就能輕鬆達成!像這樣: ``` input = 1233; if(input == 1233){ print('登入成功'); } ``` 在執行時,電腦會這麼想: ::: document 「input == 1233」,而「input」代表的值是「1233」。;所以,「 input == 1233」,就是「1233 == 1233」; 因此: 「 input == 1233」就是「 true 」的意思 ::: 於是,上述那段程式碼,在經過電腦的思考後,會變成下面這樣: ``` if(true){ print('登入成功'); } ``` 螢幕上將會印出「登入成功」四個字。 ![](https://miro.medium.com/max/1170/1*ZAjDjmR8eaO6ta146QmGlA.jpeg) ## 「 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 」?! 很多程式語言中,除了 `if` 與 `else` 之外,還有一個 `else if` 。你可能會好奇,`else if` 存在的意義是什麼?不是已經有 `if` 跟 `else if` 了嗎?其實, `else if` 的存在除了可以幫助電腦節省許多的判斷時間,還有很多其他的好處。所以它究竟是什麼? 讓我們用這個六分鐘的短片,學習 `else if` 的用途,並且為前面的 `if` 和 `else` 作一個收尾與複習。 ::: youtube IsG4Xd6LlsM ::: ## 想想看 還有什麼情況下,我們會用到「 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 axBuiB55CfA :::
儲存章節
前往實際頁面