คำสั่ง if Statements
แนะนำใหม่| English | ความหมาย |
|---|---|
| if statement/ɪf ˈsteɪtmənt/ | คำสั่ง if |
รันโค้ดตามเงื่อนไข
- คำสั่ง if จะรันบล็อก ก็ต่อเมื่อเงื่อนไขของมันมีค่าเป็น
trueเท่านั้น if (score >= 60) { System.out.println("Pass"); }- หากเงื่อนไขเป็น
falseบล็อกจะถูกข้ามไปเลย - นี่คือ การเลือก — โปรแกรมเลือกว่าจะรันบล็อกหรือไม่
การเพิ่ม else
- คลáus
elseจะรันโค้ดทางเลือกเมื่อเงื่อนไขเป็นfalse if (score >= 60) { print("Pass"); } else { print("Fail"); }- มีเพียง หนึ่ง ทางที่被执行เท่านั้น — ไม่เคย被执行ทั้งสองทางและไม่เคยไม่被执行เลย
elseเป็นตัวเลือกได้; คำสั่ง bareifจะข้ามบล็อกของมันเมื่อเป็น false เท่านั้น
花括号用于分组块
- Braces
{ }ใช้จัดกลุ่มคำสั่งที่เป็นส่วนหนึ่งของifหรือelse - หากไม่มี braces, จะมีเพียง คำสั่งถัดไปเดียว ที่ถูกควบคุมโดย
if - ควรใช้ braces เสมอ แม้จะมีแค่บรรทัดเดียว — เพื่อป้องกันข้อผิดพลาดที่พบบ่อย
- จัดย่อหน้าบล็อกเพื่อให้โครงสร้างมองเห็นได้ง่าย
การติดตามทางแยก
- เพื่อติดตาม
if-elseให้ประเมินเงื่อนไข แล้วรันทางแยกที่สอดคล้องกัน - ด้วย
score = 75:75 >= 60เป็นtrue→ รันบล็อกif→ พิมพ์ "Pass" - ด้วย
score = 40:40 >= 60เป็นfalse→ รันบล็อกelse→ พิมพ์ "Fail" - มีเพียงโค้ดในทางแยกที่ถูกเลือกเท่านั้นที่จะ被执行
หากไม่มี curly braces,一个 if จะควบคุมเฉพาะ ONE statement หลังมันเท่านั้น ดังนั้น if (x > 0) a(); b(); จะรัน b() เสมอ — การจัด indents ลวงตา ควร wrap block ทั้งหมดใน { } และใน if-else, exactly one branch จะรัน; คุณจะไม่ fall through เข้าทั้งสอง Unlike แยก if statements
การให้เกรดด้วย if-else:
if (score >= 90) { grade = "A"; } else { grade = "B"; }score = 95→ conditiontrue→gradeis"A".score = 80→ conditionfalse→gradeis"B".
คำสั่ง if จะทำงานเฉพาะเมื่อเงื่อนไขเป็น true; ส่วน else (ส่วนเสริม) จะทำงานแทนเมื่อเงื่อนไขเป็น false — มี Branch ทำงาน พอดีหนึ่งทาง ใช้ วงเล็บปีกกา { } เพื่อรวมกลุ่มแต่ละบล็อก (หากไม่มีวงเล็บ จะควบคุมแค่ Statement ถัดไปเพียงตัวเดียว) ตรวจสอบโดยประเมินเงื่อนไขก่อน แล้วจึงทำงานตาม Branch ที่ตรงกับเงื่อนไข
ветвь (branch) ใดจะถูกรัน?
บล็อกที่มีเงื่อนไขเป็นจริงครั้งแรกจะถูกรัน; ส่วนที่เหลือจะถูกละเลย
ในคำสั่ง if-else จะมีการรันветвь (branch) ใดจากสอง ветвь?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
ветвь (branch) เดียวเท่านั้นที่จะรันตามเงื่อนไข
if (score >= 60) พิมพ์ Pass, else พิมพ์ Fail. เมื่อ score = 40, อะไรจะถูกพิมพ์?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
40 >= 60 เป็นเท็จ → บล็อก else จะรัน → Fail
หากไม่มีวงเล็บปีกกา คำสั่ง if จะควบคุมเฉพาะคำสั่งถัดไปเพียงข้อเดียวเท่านั้น
Difficulty 1/5 · 100 coins + a small bonus on first completion today
วงเล็บปีกกากลุ่มบล็อก; หากไม่มีวงเล็บปีกกาจะมีเพียงคำสั่งเดียวที่เป็นเงื่อนไข
Bare if (ไม่มี else) เพียงแค่ข้ามบล็อก当其条件是 เท็จ时。
Difficulty 1/5 · 100 coins + a small bonus on first completion today
หากไม่มี else เงื่อนไขที่เป็นเท็จ просто does nothing.
Clause ที่รันเมื่อเงื่อนไข of an if เป็นเท็จคือ clause ___ (คำเดียว)
Difficulty 1/5 · 100 coins + a small bonus on first completion today
else ให้ ветвь (branch) ทางเลือกอื่น