Đầu vào ReadLine
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 37 trên 93.
Đến nay, các chương trình của bạn đều sử dụng giá trị cố định. Để chương trình có tính tương tác, bạn cần nhận đầu vào từ người dùng. Kotlin cung cấp hàm readLine() cho mục đích này.
Hàm readLine() đọc một dòng văn bản mà người dùng nhập và trả về dòng đó dưới dạng chuỗi (string):
fun main() {
println("What is your name?")
val name = readLine()
println("Hello, $name!")
}Khi chương trình này chạy, nó in câu hỏi ra, chờ người dùng nhập nội dung nào đó rồi nhấn Enter, sau đó dùng nội dung đó trong lời chào.
Có một chi tiết quan trọng: readLine() trả về một String? (chuỗi có thể null) vì đầu vào có thể là null. Hiện tại, bạn có thể dùng toán tử !! để khẳng định rằng đầu vào sẽ không null:
fun main() {
println("Enter your city:")
val city = readLine()!!
println("You live in $city")
}!! cho Kotlin biết bạn chắc chắn giá trị sẽ không phải là null, nhờ đó bạn có thể dùng String thông thường. Cách này phù hợp với các chương trình đơn giản, khi bạn mong đợi đầu vào hợp lệ.
Thử thách
DễĐọc firstName và lastName của một người bằng readLine()!!, sau đó in ra lời chào.
Bạn sẽ nhận được hai đầu vào:
- Đầu vào thứ nhất: tên của người đó
- Đầu vào thứ hai: họ của người đó
In ra thông báo sau bằng cách dùng mẫu chuỗi:
Welcome, [firstName] [lastName]!Ví dụ, nếu đầu vào là John và Doe, đầu ra sẽ là:
Welcome, John Doe!Tự làm thử
fun main() {
// Đọc tên
val firstName = readLine()!!
// Đọc họ
val lastName = readLine()!!
// TODO: Viết code bên dưới để in ra lời chào mừng bằng mẫu chuỗi (string templates)
}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