คุณสมบัติที่สำคัญประการหนึ่งของภาษาการเขียนโปรแกรมสำหรับรับทำแอพคือความสามารถในการทำงานซ้ำ ๆ ได้อย่างมีประสิทธิภาพ ในการทำแอพ Kotlin เรามีลูปหลายประเภทเพื่อช่วยให้บรรลุเป้าหมายนี้ และในบทความนี้ เราจะมาสำรวจแต่ละลูปโดยละเอียด
ลูป For
ลูปที่ใช้บ่อยที่สุดในการทำแอพ Kotlin คือ for ลูป ใช้เพื่อวนซ้ำช่วง อาร์เรย์ หรือชุดองค์ประกอบอื่นๆ ไวยากรณ์ทั่วไปของ for วนซ้ำมีดังนี้
for(item in collection) {
// code to be executed
}
ในกรณีนี้ item แสดงถึง element ปัจจุบันของคอลเลกชัน และคอลเลกชันแสดงถึงช่วง อาร์เรย์ หรือคอลเลกชันอื่นๆ ที่กำลังวนซ้ำ รหัสภายในวงเล็บปีกกาจะถูกเรียกใช้สำหรับแต่ละ element ของคอลเลกชัน
วนซ้ำในช่วง
เริ่มจากกรณีการใช้งานพื้นฐานที่สุดของ for loop: การวนซ้ำในช่วงของค่าต่างๆ เราสามารถทำได้โดยใช้ตัวดำเนินการ .. ซึ่งสร้างช่วงของค่าระหว่างจุดเริ่มต้นและจุดสิ้นสุดที่ระบุ ตัวอย่าง:
for(i in 1..10) {
println(i)
}
ในตัวอย่างนี้ การวนซ้ำจะดำเนินการสิบครั้ง โดย i จะรับค่าตั้งแต่ 1 ถึง 10 ในการวนซ้ำแต่ละครั้ง ฟังก์ชัน println ถูกเรียกใช้สำหรับแต่ละค่าของ i โดยพิมพ์ไปยังคอนโซล
วนซ้ำในอาร์เรย์
เรายังสามารถใช้ for วนซ้ำเพื่อวนซ้ำอาร์เรย์ขององค์ประกอบ ในการทำเช่นนี้ เราเพียงระบุอาร์เรย์เป็นคอลเลกชั่นที่จะวนซ้ำ ตัวอย่าง:
val numbers = arrayOf(1, 2, 3, 4, 5)
for(number in numbers) {
println(number)
}
ในตัวอย่างนี้ การวนซ้ำจะดำเนินการห้าครั้ง โดยตัวเลขจะรับค่าของแต่ละองค์ประกอบในอาร์เรย์ตัวเลขในการวนซ้ำแต่ละครั้ง ฟังก์ชัน println ถูกเรียกสำหรับแต่ละอิลิเมนต์ของอาร์เรย์ โดยพิมพ์ไปยังคอนโซล
วนซ้ำในคอลเลกชัน
เรายังสามารถใช้ for วนซ้ำเพื่อวนซ้ำในคอลเลกชันได้ ตัวอย่าง:
val names = listOf("Alice", "Bob", "Charlie")
for(name in names) {
println(name)
}
ในตัวอย่างนี้ การวนซ้ำจะดำเนินการสามครั้ง โดยชื่อจะยึดตามค่าของแต่ละองค์ประกอบในรายการชื่อในการวนซ้ำแต่ละครั้ง ฟังก์ชัน println ถูกเรียกสำหรับแต่ละอิลิเมนต์ของรายการ โดยพิมพ์ไปยังคอนโซล
ลูป While
ลูปอีกประเภทใน Kotlin คือลูป while มันถูกใช้เพื่อทำซ้ำบล็อกของโค้ดในการทำแอพตราบเท่าที่เงื่อนไขบางอย่างเป็นจริง ไวยากรณ์ทั่วไปของลูป while เป็นดังนี้:
while(condition) {
// code to be executed
}
ในที่นี้ condition คือเงื่อนไขที่ต้องเป็นจริงเพื่อให้ลูปทำงานต่อไปได้ โค้ดในการทำแอพภายในวงเล็บปีกกาจะถูกดำเนินการตราบเท่าที่เงื่อนไขเป็นจริง
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างของการวนลูปแบบ while ที่นับ 1 ถึง 10:
var i = 1
while(i <= 10) {
println(i)
i++
}
ในตัวอย่างนี้ การวนซ้ำจะดำเนินการสิบครั้ง โดย i จะรับค่าตั้งแต่ 1 ถึง 10 ในการวนซ้ำแต่ละครั้ง ฟังก์ชัน println ถูกเรียกใช้สำหรับแต่ละค่าของ i โดยพิมพ์ไปยังคอนโซล
ลูป Do-While
ลูปประเภทที่สามใน Kotlin คือลูปแบบ do-while คล้ายกับลูป while แต่รันโค้ดภายในลูปอย่างน้อยหนึ่งครั้ง แม้ว่าเงื่อนไขจะเป็นเท็จก็ตาม ไวยากรณ์ทั่วไปของลูป do-while เป็นดังนี้:
do {
// code to be executed
} while(condition)
ในที่นี้ condition คือเงื่อนไขที่ต้องเป็นจริงเพื่อให้ลูปทำงานต่อไปได้ โค้ดภายในวงเล็บปีกกาจะถูกดำเนินการอย่างน้อยหนึ่งครั้ง จากนั้นจึงทำการตรวจสอบเงื่อนไข หากเงื่อนไขเป็นจริง โค้ดในการทำแอพภายในลูปจะดำเนินการซ้ำต่อไป
ตัวอย่าง
นี้เป็นตัวอย่างของการวนซ้ำแบบ do-while ที่ขอให้ผู้ใช้ป้อนตัวเลขระหว่าง 1 ถึง 10:
var input: Int
do {
print("Enter a number between 1 and 10: ")
input = readLine()?.toIntOrNull() ?: 0
} while(input < 1 || input > 10)
println("You entered $input.")
ในตัวอย่างนี้ การวนซ้ำจะดำเนินการอย่างน้อยหนึ่งครั้ง เมื่อเงื่อนไขอินพุต < 1 || อินพุต > 10 เป็นจริงในตอนแรก โค้ดภายในลูปจะแจ้งให้ผู้ใช้ป้อนตัวเลขระหว่าง 1 ถึง 10 อ่านค่าที่ป้อน และเก็บไว้ในตัวแปรอินพุต หากผู้ใช้ป้อนตัวเลขนอกช่วง การวนซ้ำจะดำเนินการต่อ และแจ้งผู้ใช้อีกครั้ง หากผู้ใช้ป้อนตัวเลขภายในช่วง การวนซ้ำจะออกจากโปรแกรม และโปรแกรมจะพิมพ์ข้อความตามอินพุตของผู้ใช้
คำสั่งควบคุม Break และ Continue
นอกจากลูป for, while และ do-while แล้วในการทำแอพ Kotlin ยังมีคำสั่งควบคุม 2 คำสั่งที่สามารถใช้ภายในลูปได้: Break และ Continue
คำสั่ง break ใช้เพื่อออกจากลูปทันที หากพบคำสั่ง break ลูปจะยุติ และโปรแกรมจะดำเนินการต่อด้วยโค้ดบรรทัดถัดไปหลังจากการวนซ้ำ นี่คือตัวอย่าง:
for(i in 1..10) {
if(i == 5) {
break
}
println(i)
}
ในตัวอย่างนี้ การวนซ้ำจะดำเนินการห้าครั้ง โดย i รับค่าตั้งแต่ 1 ถึง 4 เมื่อฉันเท่ากับ 5 จะพบคำสั่ง break และการวนซ้ำจะสิ้นสุดลง จากนั้นโปรแกรมจะดำเนินการต่อด้วยโค้ดบรรทัดถัดไปหลังจากการวนซ้ำ
คำสั่ง continue ใช้เพื่อข้ามไปยังการวนซ้ำถัดไป หากพบคำสั่ง continue โค้ดภายในลูปสำหรับการวนซ้ำปัจจุบันจะถูกข้ามไป และลูปจะดำเนินการวนซ้ำถัดไป นี่คือตัวอย่าง:
for(i in 1..10) {
if(i % 2 == 0) {
continue
}
println(i)
}
ในตัวอย่างนี้ การวนซ้ำจะดำเนินการสิบครั้ง โดย i รับค่าตั้งแต่ 1 ถึง 10 เมื่อ i เป็นเลขคู่ จะพบคำสั่ง continue และโค้ดภายในการวนซ้ำสำหรับการวนซ้ำนั้นจะถูกข้ามไป จากนั้นลูปจะดำเนินการวนซ้ำถัดไป โดยพิมพ์เฉพาะค่า i ที่เป็นเลขคี่
Kotlin มีลูปหลายประเภทเพื่อช่วยให้ทำงานซ้ำๆ ในการทำแอพได้อย่างมีประสิทธิภาพ for loop ใช้เพื่อวนซ้ำช่วง อาร์เรย์ หรือชุดองค์ประกอบอื่นๆ การวนรอบ while ใช้เพื่อทำซ้ำบล็อกของโค้ดตราบใดที่เงื่อนไขบางอย่างเป็นจริง ลูป do-while คล้ายกับลูป while แต่รันโค้ดภายในลูปอย่างน้อยหนึ่งครั้ง คำสั่ง break และ continue สามารถใช้ภายในลูปเพื่อออกจากลูปทันทีหรือข้ามไปได้ทำให้สะดวกในการรับทำแอพได้ดีมากขึ้น