Bỏ qua để đến nội dung

📤 In kết quả với println()

🎯 Mục tiêu: Học cách hiển thị thông tin ra màn hình console và sử dụng String Templates - tính năng đặc trưng của Kotlin.


Trong lập trình, việc đầu tiên bạn học là hiển thị thông tin ra màn hình. Kotlin cung cấp hai hàm chính:

  • println() - In và xuống dòng (print line)
  • print() - In nhưng không xuống dòng
fun main() {
println("Xin chào Kotlin!")
println("Đây là dòng thứ hai")
}

Kết quả:

Xin chào Kotlin!
Đây là dòng thứ hai

fun main() {
// println() - tự động xuống dòng
println("Dòng 1")
println("Dòng 2")
// print() - không xuống dòng
print("A")
print("B")
print("C")
}

Kết quả:

Dòng 1
Dòng 2
ABC
fun main() {
println(42) // Số nguyên
println(3.14) // Số thực
println(true) // Boolean
println('K') // Ký tự
}

🔍 String Templates - Điểm mạnh của Kotlin

Phần tiêu đề “🔍 String Templates - Điểm mạnh của Kotlin”

String Template là cách chèn giá trị biến vào chuỗi một cách elegant. Đây là tính năng được yêu thích nhất của Kotlin!

fun main() {
val name = "Bumbii"
val age = 5
println("Xin chào, tôi là $name")
println("Tôi $age tuổi")
}

Kết quả:

Xin chào, tôi là Bumbii
Tôi 5 tuổi

Khi cần tính toán hoặc gọi method, dùng ${}:

fun main() {
val a = 10
val b = 5
println("$a + $b = ${a + b}")
println("$a × $b = ${a * b}")
val name = "kotlin"
println("Chữ hoa: ${name.uppercase()}")
}

Kết quả:

10 + 5 = 15
10 × 5 = 50
Chữ hoa: KOTLIN

fun main() {
println("Dòng 1\nDòng 2") // \n = xuống dòng
println("Cột 1\tCột 2") // \t = tab
println("Anh ấy nói: \"Hi!\"") // \" = dấu ngoặc kép
println("Đường dẫn: C:\\Users") // \\ = dấu backslash
println("Giá: 100\$") // \$ = ký tự $ (không phải template)
}

Kotlin hỗ trợ triple-quoted strings """...""" cho văn bản nhiều dòng:

fun main() {
val poem = """
Roses are red,
Violets are blue,
Kotlin is awesome,
And so are you!
""".trimIndent()
println(poem)
}

Kết quả:

Roses are red,
Violets are blue,
Kotlin is awesome,
And so are you!

fun main() {
val pi = 3.14159265359
println("%.2f".format(pi)) // 3.14 (2 chữ số thập phân)
println("%.4f".format(pi)) // 3.1416 (4 chữ số thập phân)
}

Định dạng số với dấu phân cách hàng nghìn

Phần tiêu đề “Định dạng số với dấu phân cách hàng nghìn”
fun main() {
val price = 15000000
println("Giá: %,d VNĐ".format(price)) // Giá: 15,000,000 VNĐ
}

Bài tập 1: Tạo chương trình in ra thông tin cá nhân của bạn

fun main() {
val name = "Tên bạn"
val birthYear = 2000
val currentYear = 2026
println("=== THÔNG TIN CÁ NHÂN ===")
println("Họ tên: $name")
println("Năm sinh: $birthYear")
println("Tuổi: ${currentYear - birthYear}")
}

Bài tập 2: In hóa đơn mua hàng

fun main() {
val product = "Laptop"
val price = 25000000
val quantity = 2
val total = price * quantity
println("""
╔════════════════════════════╗
║ HÓA ĐƠN MUA HÀNG ║
╠════════════════════════════╣
║ Sản phẩm: $product
║ Đơn giá: ${"%,d".format(price)} VNĐ
║ Số lượng: $quantity
╠════════════════════════════╣
║ TỔNG: ${"%,d".format(total)} VNĐ
╚════════════════════════════╝
""".trimIndent())
}

Trong Android development, bạn sẽ dùng Log thay vì println:

import android.util.Log
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val userName = "Bumbii"
Log.d("MyApp", "User logged in: $userName")
}
}
Mục đích Console App Android
Debug println() Log.d()
Info println() Log.i()
Error println() Log.e()


Sau bài học này, bạn có thể:

  • Sử dụng println()print() đúng cách
  • Hiểu sự khác biệt giữa $variable${expression}
  • Sử dụng ký tự escape: \n, \t, \", \\
  • Tạo chuỗi nhiều dòng với """...""".trimIndent()
  • Định dạng số với "%.2f".format()"%,d".format()

Tiếp theo: Ghi chú và KDoc