while และ do-while: ควรใช้แบบใด
เขียนลูป while และ do-while พร้อมทำความเข้าใจกรณีการใช้งาน
while และ do-while: ควรใช้แบบใด เป็นบทเรียน Kotlin Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kotlin Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kotlin Academy มีบทเรียนทั้งหมด 4 บทเรียน
ลูป while สองรูปแบบ
Kotlin มีทั้ง while ซึ่งตรวจสอบก่อน และ do-while ซึ่งตรวจสอบภายหลัง ความแตกต่างคือ do-while จะทำงานส่วนเนื้อหาอย่างน้อยหนึ่งครั้งเสมอ
ลูป while พื้นฐาน
while จะตรวจสอบเงื่อนไขก่อนการวนซ้ำแต่ละครั้ง หากเงื่อนไขเป็นเท็จตั้งแต่แรก ส่วนเนื้อหาจะไม่ทำงานเลย
fun main() {
var count = 0
while (count < 3) {
println("count = $count")
count++
}
}ลูป do-while พื้นฐาน
do-while จะทำงานส่วนเนื้อหาก่อน แล้วจึงตรวจสอบเงื่อนไข ส่วนเนื้อหาจะทำงานอย่างน้อยหนึ่งครั้งเสมอ
fun main() {
var n = 10
do {
println("n = $n")
n--
} while (n > 7)
}การอ่านจนกว่าจะพบตัวจบ
ลูป while เหมาะอย่างยิ่งเมื่อคุณไม่ทราบว่าต้องวนซ้ำกี่ครั้ง เช่น อ่านข้อมูลไปจนกว่าจะพบค่าตัวจบ
fun main() {
val data = listOf(3, 7, 0, 9)
var i = 0
while (i < data.size && data[i] != 0) {
println("got ${data[i]}")
i++
}
println("stopped at index $i")
}การค้นหาในรายการ
ใช้ while สำหรับการค้นหาที่หยุดก่อนครบทุกสมาชิก โดยหยุดทันทีที่ตรงตามเงื่อนไข
fun main() {
val nums = listOf(2, 4, 7, 8, 10)
var i = 0
while (i < nums.size && nums[i] % 2 == 0) i++
println("first odd at index $i = ${nums[i]}") // 2 = 7
}do-while สำหรับตรวจสอบอินพุต
ใช้ do-while เมื่อคุณต้องดำเนินการบางอย่าง เช่น ขอข้อมูล อ่านข้อมูล หรือทดลองทำ ก่อนจึงจะตรวจสอบความสำเร็จได้
fun main() {
val validInputs = listOf("y", "n", "y")
var idx = 0
var input: String
do {
input = validInputs[idx++]
println("user typed: $input")
} while (input != "n" && idx < validInputs.size)
}ตัวนับพร้อมการลดค่า
ลูป while จัดการตัวนับที่ลดค่าลงจนถึงศูนย์ได้อย่างเป็นระเบียบ
fun main() {
var lives = 3
while (lives > 0) {
println("Lives left: $lives")
lives--
}
println("Game over")
}ลูปไม่สิ้นสุดพร้อม break
ใช้ while (true) ร่วมกับ break สำหรับโค้ดรูปแบบลูปเหตุการณ์ที่มีเงื่อนไขออกซับซ้อน
fun main() {
val items = listOf(1, 2, 3, -1, 4)
var i = 0
while (true) {
if (i >= items.size || items[i] < 0) break
println("ok: ${items[i]}")
i++
}
}เปรียบเทียบ while กับ for
หากทราบจำนวนรอบล่วงหน้า ให้เลือกใช้ for หากจำนวนรอบขึ้นอยู่กับสถานะขณะทำงาน ให้ใช้ while
fun main() {
// for: known bounds
for (i in 1..3) print("$i ")
println()
// while: state-driven
var n = 1
while (n <= 3) { print("$n "); n++ }
println()
}ลูปพร้อมตัวแปรสองตัว
ลูป while สามารถติดตามตัวแปรหลายตัวได้ ซึ่งมีประโยชน์กับขั้นตอนวิธีอย่างฟีโบนักชี
fun main() {
var a = 0
var b = 1
while (b < 50) {
print("$b ")
val next = a + b
a = b
b = next
}
println() // 1 1 2 3 5 8 13 21 34
}do-while ทำงานหนึ่งครั้งเสมอ
แม้เงื่อนไขจะเป็นเท็จตั้งแต่เริ่มต้น ส่วนเนื้อหาของ do-while ก็จะทำงานหนึ่งครั้ง บางครั้งนี่คือสิ่งที่คุณต้องการพอดี แต่บางครั้งก็อาจเป็นข้อผิดพลาด
fun main() {
var x = 100
do {
println("x = $x") // prints once
x--
} while (x > 1000) // false immediately
}ตรวจสอบความเข้าใจ
ลูปใดรับประกันว่าส่วนเนื้อหาจะทำงานอย่างน้อยหนึ่งครั้งโดยไม่ขึ้นกับเงื่อนไข
สรุปทบทวน
ใช้ while เมื่อจำนวนรอบขึ้นอยู่กับเงื่อนไขขณะทำงาน ใช้ do-while เมื่อส่วนเนื้อหาต้องทำงานอย่างน้อยหนึ่งครั้ง เช่น การตรวจสอบความถูกต้องหรือการลองใหม่ หากทราบจำนวนรอบ ให้เลือกใช้ for
คำถามที่พบบ่อย
บทเรียน “while และ do-while: ควรใช้แบบใด” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “while และ do-while: ควรใช้แบบใด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kotlin Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kotlin Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “while และ do-while: ควรใช้แบบใด”
เขียนลูป while และ do-while พร้อมทำความเข้าใจกรณีการใช้งาน คุณปฏิบัติ Kotlin Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kotlin Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kotlin Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “while และ do-while: ควรใช้แบบใด” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Kotlin Academy นี้ได้ไหม
ได้ บทเรียน Kotlin Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- วนซ้ำด้วย for บนช่วงและคอลเลกชัน
- while และ do-while: ควรใช้แบบใด
- forEach, repeat และ forEachIndexed
- break, continue และการคืนค่าด้วยป้ายกำกับ