Phạm vi trong vòng lặp
Thuộc phần Kiến thức nền tảng trong hành trình Kotlin của Coddy. Bài học 51 trên 93.
Đến giờ, chúng ta đã dùng 1..5 để tạo các khoảng tăng dần từng đơn vị. Kotlin cung cấp những cách linh hoạt hơn để xác định khoảng cho vòng lặp.
Để đếm ngược, hãy dùng downTo:
for (i in 5 downTo 1) {
println(i)
}
// Đầu ra: 5, 4, 3, 2, 1Để bỏ qua một số, hãy thêm step để điều chỉnh bước tăng:
for (i in 0..10 step 2) {
println(i)
}
// Đầu ra: 0, 2, 4, 6, 8, 10Bạn có thể kết hợp downTo với step để đếm ngược theo khoảng tùy chỉnh:
for (i in 10 downTo 1 step 3) {
println(i)
}
// Đầu ra: 10, 7, 4, 1Nếu bạn cần loại trừ giá trị cuối cùng, hãy dùng until thay cho ..:
for (i in 1 until 5) {
println(i)
}
// Đầu ra: 1, 2, 3, 4Từ khóa until đặc biệt hữu ích khi làm việc với chỉ số bắt đầu từ 0, vì bạn thường cần dừng trước khi chạm đến một số nhất định.
Thử thách
Trung bìnhĐọc hai số nguyên từ đầu vào: start và end.
In tất cả số chẵn từ start giảm dần đến end (bao gồm cả hai đầu mút), mỗi số trên một dòng riêng.
Dùng downTo với step để tạo phạm vi. Nếu start là số lẻ, hãy bắt đầu từ số chẵn đầu tiên nhỏ hơn nó.
Ví dụ, nếu đầu vào là:
10
2Đầu ra sẽ là:
10
8
6
4
2Nếu đầu vào là:
9
3Đầu ra sẽ là:
8
6
4Nếu không có số chẵn nào trong phạm vi được yêu cầu, hãy in No even numbers trên một dòng. Nếu không, hãy in mỗi số chẵn trên một dòng riêng.
Tự làm thử
fun main() {
// Đọc đầu vào
val start = readLine()!!.toInt()
val end = readLine()!!.toInt()
// TODO: Viết code của bạn bên dưới
// Dùng downTo với step để in ra tất cả các số chẵn từ start giảm dần đến end
// Nếu start là số lẻ, hãy bắt đầu từ số chẵn đầu tiên nhỏ hơn start
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Toán tử phần 1
Toán tử số họcToán tử moduloPhép gán kết hợpToán tử so sánhÔn tập: phép tính đơn giản7Nhập xuất cơ bản
Hàm PrintlnMẫu chuỗiĐầu vào ReadLineChuyển đổi kiểu dữ liệuÔn tập: Số năm đến khi nghỉ hưuÔn tập: Đúng hay sai10Hàm
Khai báo hàmTham số và đối sốGiá trị trả vềĐối số có tênGiá trị mặc địnhHàm chỉ gồm một biểu thứcÔn tập: hàm SigmaÔn tập: hàm kiểm tra hợp lệ3Tính có thể null
An toàn với null là gìKiểu có thể nullToán tử gọi an toànToán tử ElvisCơ bản về thử thách hàmKhẳng định không nullÔn tập: truy cập an toàn6Ra quyết định
Câu lệnh ifCâu lệnh if-elseIf dưới dạng biểu thứcBiểu thức whenWhen với khoảng giá trịÔn tập: máy tính đơn giản9Vòng lặp
Vòng lặp forVòng lặp whileVòng lặp do-whileBreakContinuePhạm vi trong vòng lặpVòng lặp lồng nhauÔn tập: giai thừaÔn tập: đầu vào động12Cơ bản về danh sách
List và MutableListTruy cập phần tửChỉnh sửa danh sáchPhương thức của ListPair và TripleÔn tập: danh sách sản phẩmÔn tập: danh sách đảo ngược15Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát khỏi chương trìnhTự luyện tập: Playground Kotlin