Trình biên dịch Kotlin online

Viết, biên dịch, chạy và gỡ lỗi code Kotlin trực tuyến trong IDE đầy đủ tính năng. Làm việc với nhiều tệp, lưu workspace và cộng tác theo thời gian thực.

Thư viện cài đặt sẵn
🚀 71,356 tổng số lượt thực thi (475 trong tháng này)
Nhúng
Kết quả

Luyện Python với thử thách lập trình

Giải các bài tập thực tế ngay trên trình soạn thảo này: chạy kiểm thử mẫu, nộp bài và nhận đánh giá code từ AI.

Tất cả thử thách Python
Dễ

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Bạn sẽ học Số họcGiá trị trả về
BeginnerLearning-pathVariables
Dễ

Distance Between Points

Compute the straight-line distance between two points.

Bạn sẽ học Định lý PythagoreCăn bậc hai
BeginnerFunctionsLearning-pathmath
Dễ

Days in a Month

Return how many days a month has, including leap years.

Bạn sẽ học Quy tắc lịchHàm phụ trợ
BeginnerConditionsFunctionsLearning-path
Dễ

Kiểm Tra Số Nguyên Tố

Xác định xem một số có phải là số nguyên tố hay không.

Bạn sẽ học Tính chia hếtTối ưu vòng lặp
BeginnerLoopsNumbersStudent-beginner
Dễ

Tích vô hướng của hai vector

Nhân hai vector theo từng phần tử rồi cộng kết quả lại, phép tính cốt lõi của mọi nơ-ron.

Bạn sẽ học VectorTích vô hướng
Mạng nơ-rontrí tuệ nhân tạohọc máy
Dễ

Trung Bình Của Ba Số

Tính trung bình cộng của ba số nguyên.

Bạn sẽ học Số họcPhép chia
BeginnerLearning-pathVariables
Dễ

Tam giác số

Xây dựng một tam giác các số tăng dần.

Bạn sẽ học Hàng tăng dầnBiến đếm qua các hàng
BeginnerLearning-pathNested-loopsPatterns
Dễ

Row Sums

Add up every row of a grid.

Bạn sẽ học Danh sách 2 chiềuVòng lặp lồng nhau
BeginnerGridsLearning-path
Dễ

Số Lớn Nhất Trong Ba Số

Chọn số lớn nhất trong ba số mà không dùng hàm max có sẵn.

Bạn sẽ học So sánhKết hợp điều kiện
BeginnerConditionsLearning-path
Dễ

Số Armstrong

Kiểm tra một số có bằng tổng các chữ số của nó lũy thừa lên số lượng chữ số hay không.

Bạn sẽ học Tách chữ sốLũy thừa
BeginnerNumbersStudent-beginner
Dễ

Sum of Odd Numbers

Add every odd number up to a limit.

Bạn sẽ học Vòng lặp forBiến cộng dồn
BeginnerLearning-pathLoops
Dễ

Danh sách việc cần làm

Quản lý danh sách công việc: thêm, đánh dấu xong, xóa và báo những việc còn lại.

Bạn sẽ học Collection có kiểuRecord
BeginnerSimulationStrings

🧩 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.

Không chỉ là công cụ chạy mã

Sử dụng trình soạn thảo nhiều tệp, terminal thực thi biệt lập, thư viện riêng theo môi trường chạy, không gian làm việc lâu dài, tính năng chia sẻ và cộng tác theo thời gian thực ngay trong cùng một trình thực thi.

Cách sử dụng trình thực thi này?

Chọn môi trường chạy, mở hoặc tạo tệp, viết mã rồi nhấn Chạy. Kết quả xuất hiện trong terminal; người dùng đã đăng nhập có thể lưu tệp trong không gian làm việc, cài thư viện và cộng tác qua liên kết chia sẻ.

  1. Chọn phiên bản rồi chỉnh sửa tệp hiện tại hoặc mở một tệp khác trong không gian làm việc.
  2. Chạy mã, nhập dữ liệu trong terminal khi được yêu cầu và xem lại lịch sử chạy đã lưu.
  3. Sử dụng thư viện, công cụ không gian làm việc, chia sẻ và trò chuyện khi tác vụ cần nhiều hơn một đoạn mã.

💡 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)