Kotlin Online CLI Playground
Chạy code Kotlin Online bằng CLI trên trình duyệt, không cần cài đặt IDE. Lý tưởng để test, học và debug nhanh chóng.
📚 Ai cũng đang học Kotlin – bạn thì sao?
Loading...
🧩 Giới thiệu về Trình thực thi Kotlin trực tuyến này
CodeUtility Kotlin Executor cho phép bạn viết, biên dịch và chạy mã Kotlin trực tiếp trên trình duyệt — không cần cài đặt, IDE hay thiết lập SDK. Công cụ dùng trình biên dịch Kotlin thực chạy trong các sandbox cách ly để mang lại trải nghiệm thực thi an toàn và chân thực.
Công cụ này hỗ trợ nhiều phiên bản Kotlin — 1.6, 1.9 và 2.1 — giúp bạn khám phá các cập nhật cú pháp, kiểm thử khả năng tương thích mã, và thử nghiệm các tính năng ngôn ngữ hiện đại như coroutine, data class và sealed interface.
Rất phù hợp cho sinh viên học nền tảng Kotlin, lập trình viên Android thử nghiệm các snippet, hoặc kỹ sư backend kiểm thử logic trong môi trường JVM mà không cần rời trình duyệt.
Mỗi đoạn mã được chạy trong một môi trường thực thi đóng gói an toàn, đảm bảo hiệu năng ổn định và việc thực thi mã an toàn.
💡 Cách sử dụng công cụ này
- 1. Chọn phiên bản Kotlin từ danh sách thả xuống phía trên trình soạn thảo (1.6, 1.9 hoặc 2.1).
- 2. Viết hoặc dán mã Kotlin trực tiếp vào khu vực trình soạn thảo.
- 3. Nhấp Chạy để biên dịch và thực thi mã; kết quả sẽ hiển thị ở bảng điều khiển bên dưới.
- 4. Khi đang chạy, nút Dừng sẽ xuất hiện — nhấp để kết thúc sớm việc thực thi.
- 5. Dùng Sửa mã để tự động sửa lỗi cú pháp hoặc thụt lề.
- 6. Sau khi sửa, nút Bản sửa sẽ xuất hiện — nhấp để xem lại các chỉnh sửa gần đây.
- 7. Bạn cũng có thể Tải lên các tệp Kotlin từ máy tính hoặc Tải xuống mã của bạn để dùng sau.
- 8. Mỗi lần chạy kéo dài tối đa 20 giây để đảm bảo ổn định và sử dụng tài nguyên công bằng.
🧠 Mẹo: Môi trường chạy Kotlin hỗ trợ thư viện chuẩn và các tính năng ngôn ngữ phổ biến — rất phù hợp để kiểm thử thuật toán, luyện lập trình hàm, hoặc xác minh hành vi mã Kotlin cho Android và backend theo thời gian thực.
💡 Hướng dẫn Cơ bản về Kotlin cho người mới bắt đầu
1. Khai báo biến và hằng số
Kotlin dùng val cho biến bất biến và var cho biến có thể thay đổi.
val name: String = "Alice"
var age: Int = 30
val pi = 3.14 // suy luận kiểu
// Hằng số
const val MAX_USERS = 100
2. Câu điều kiện (if / when)
Dùng biểu thức if hoặc when cho nhiều nhánh.
val x = 2
if (x == 1) {
println("Một")
} else if (x == 2) {
println("Hai")
} else {
println("Khác")
}
when (x) {
1 -> println("Một")
2 -> println("Hai")
else -> println("Khác")
}
3. Vòng lặp
Dùng for, while và do-while để lặp.
for (i in 0..2) {
println(i)
}
var n = 3
while (n > 0) {
println(n)
n--
}
4. Mảng
Kotlin hỗ trợ mảng bằng hàm arrayOf().
val numbers = arrayOf(10, 20, 30)
println(numbers[1])
5. Thao tác với danh sách
Dùng mutableListOf cho danh sách có thể thay đổi.
val nums = mutableListOf(1, 2, 3)
nums.add(4)
nums.removeAt(0)
for (n in nums) {
print("$n ")
}
6. Nhập/Xuất từ console
Dùng readLine() để nhập và println() để xuất.
print("Nhập tên của bạn: ")
val name = readLine()
println("Xin chào, $name")
7. Hàm
Hàm dùng từ khóa fun với kiểu trả về tùy chọn.
fun add(a: Int, b: Int): Int {
return a + b
}
println(add(3, 4))
8. Map
mutableMapOf lưu các cặp khóa-giá trị.
val ages = mutableMapOf("Alice" to 30)
println(ages["Alice"])
9. Xử lý ngoại lệ
Dùng try, catch và finally để xử lý lỗi.
try {
val result = 10 / 0
} catch (e: ArithmeticException) {
println("Lỗi: ${e.message}")
}
10. Nhập/Xuất tệp
Dùng File từ java.io cho các thao tác tệp.
import java.io.File
File("file.txt").writeText("Xin chào tệp")
val text = File("file.txt").readText()
println(text)
11. Thao tác với chuỗi
Chuỗi trong Kotlin hỗ trợ nhiều phương thức và nội suy.
val text = "Hello World"
println(text.length)
println(text.substring(0, 5))
println(text.contains("World"))
12. Lớp và Đối tượng
Các lớp trong Kotlin ngắn gọn và hỗ trợ constructor mặc định.
class Person(val name: String) {
fun greet() = println("Chào, tôi là $name")
}
val p = Person("Alice")
p.greet()
13. An toàn null
Kotlin phân biệt kiểu có thể null và không thể null. Dùng ? và ?: để an toàn.
val name: String? = null
println(name?.length ?: 0)