if為判斷語句,如果符合條件就往下執行,不符合就跳過,注意if結尾沒有;
疑~上圖不是說符合才會執行,按這張圖的邏輯應該7.8兩行都不會執行阿
原來是第7行結尾的; 電腦認為第8行是完整獨立的,與上面的if無關,所以就執行了
那要如何讓電腦知道這是一個整體呢?
很簡單就像外面的代碼一樣 加上一組{ } 如6行尾9行頭 即可,加上後7.8兩行變成一個整體,因為不符合都沒有執行了
驗證,改成true後,7.8兩行都有執行。
判斷分數是否大於60分
兩個判斷同時符合,&(ctrl+7)是and的意思,條件a and 條件b 同時符合 就執行代碼
驗證 將前面的條件提高到90, 下方沒有執行,因為不是兩個條件都符合
兩個判斷只需符合一個,|| (shift + ) 是or的意思,條件a or 條件b 任一個滿足就往下執行
驗證,兩個中沒有任一個滿足,沒有執行下面代碼
任一個滿足就執行,所以兩個都符合也會執行
可以看到報錯是說,要boolean 但卻收到int
這次設個變量,一樣用1個=號 ,疑,怎麼代碼沒有紅色提示報錯?
那麼你覺得 如果執行代碼的話 下方能被打印出句子嗎?
竟然可以!
這是為什麼呢?
因為if後面要的是boolean,之前給的是int,這次給的是boolean所以沒有報錯。
但我並不了解為什麼會設計成這樣能通過
把26行改成false的話,下面代碼是不會執行的
同樣都是1個= 賦值
那為什麼true會執行,false卻不會
我來設計的話,if判斷句該行就不能賦值,一定會有人出錯,想判斷卻變成賦值
若你知道的話,歡迎留言告知
但還有個特別的地方,此時圖中顯示該變量是沒被使用到的
2個=,變量就變亮了,代表有使用到
! = not
26跟29為縮寫
26是 isCar == true
29是 26的相反 意思是isCar == False
a = true
!a = flase
a = false
!a = ture
三元運算符,可以看到wasCar被isCar賦值成false
else語句,在前面不符合時才會執行,現在圖中if有符合所以沒執行
現在if不符合了,所以執行了else的代碼
此圖中,if為條件一 ,,else if 條件二,else為不符合前兩者時
如果條件1跟2都符合,先走到的先執行,然後跳出if。
30行的變數,放在了if判斷句裡面計算。
如果放到33行,會發現報錯了且變量是紅色的,沒有此變量。
因為在if代碼塊 執行完後,該變量就刪除了。
上方用到的代碼:點此