Viết chương trình Kotlin đầu tiên

Trong lớp học lập trình này, bạn sẽ viết chương trình đầu tiên bằng ngôn ngữ Kotlin thông qua trình soạn thảo tương tác mà bạn có thể chạy trên trình duyệt của mình.

Bạn có thể coi chương trình[LINK] là một loạt các hướng dẫn để hệ thống thực hiện một số hành động. Ví dụ: bạn có thể viết một chương trình tạo thiệp sinh nhật. Trong chương trình đó, bạn có thể viết lệnh in văn bản chúc mừng hoặc tính tuổi của một người dựa trên năm sinh của họ.

Cũng giống như việc bạn sử dụng ngôn ngữ của con người để giao tiếp với người khác, bạn sử dụng ngôn ngữ lập trình để giao tiếp với hệ điều hành của máy tính. May mắn thay, ngôn ngữ lập trình ít phức tạp hơn ngôn ngữ của con người và khá logic!

Các ứng dụng Android được viết bằng ngôn ngữ lập trình Kotlin. Kotlin là một ngôn ngữ hiện đại được tạo ra để giúp nhà phát triển viết mã một cách hiệu quả và ít lỗi nhất có thể.

Sẽ rất khó để bạn vừa học cách tạo ứng dụng, vừa học các kiến thức lập trình cơ bản cùng một lúc. Vì vậy, chúng ta sẽ bắt đầu bằng một số nội dung lập trình trước khi bắt đầu tạo ứng dụng. Việc làm quen với một số kiến thức lập trình cơ bản không chỉ là một bước quan trọng để tạo ứng dụng, mà còn giúp bạn sau này dễ dàng tạo ứng dụng đầu tiên hơn trong khoá học này.

Trình soạn thảo mã là công cụ giúp bạn viết mã, giống như cách trình xử lý văn bản (như Google Tài liệu) giúp bạn tạo tài liệu văn bản. Trong lớp học lập trình này, bạn sẽ sử dụng trình soạn thảo Kotlin (Kotlin editor) có tính tương tác trên trình duyệt. Tức là bạn không phải cài đặt bất kỳ phần mềm nào để thực hiện bước đầu tiên trong quá trình phát triển ứng dụng.

Điều kiện tiên quyết

  • Sử dụng trang web tương tác trên trình duyệt web.

Kiến thức bạn sẽ học được

  • Cách tạo, thay đổi, hiểu và chạy một chương trình Kotlin tối giản có chức năng hiện thông báo.

Sản phẩm bạn sẽ tạo ra

  • Một chương trình bằng ngôn ngữ lập trình Kotlin sẽ hiện thông báo khi bạn chạy chương trình đó.

Bạn cần có

  • Máy tính có trình duyệt web hiện đại, chẳng hạn như phiên bản Chrome mới nhất.
  • Quyền truy cập Internet trên máy tính.

Trong nhiệm vụ này, bạn sẽ sử dụng trình soạn thảo trên một trang web để bắt đầu lập trình bằng ngôn ngữ Kotlin ngay lập tức.

Sử dụng trình soạn thảo mã có tính tương tác

Thay vì cài đặt phần mềm trên máy tính, bạn có thể sử dụng một công cụ dùng trên nền tảng web để tạo chương trình đầu tiên của mình.

  1. Trong trình duyệt, hãy mở https://try.kotlinlang.org/. Thao tác này sẽ mở ra một công cụ lập trình dùng trên trình duyệt.
  2. Bạn sẽ thấy một trang tương tự như ảnh chụp màn hình bên dưới, với danh sách các tệp ở bên trái, và trình chỉnh sửa ở bên phải. Bạn cũng có thể thấy hộp màu đen ở góc dưới cùng bên phải cùng thông tin về chính sách cookie.

Cảnh báo: Nếu bạn không đồng ý với chính sách cookie của trang web này, đừng tiếp tục.

  1. Nhấp vào dấu X ở góc trên cùng bên trái của hộp bật lên màu đen để đóng nút đó.
  1. Làm theo ảnh chụp màn hình được chú thích bên dưới để tham khảo cách tự định hướng bằng trình chỉnh sửa này.

  • (1) Thẻ Tìm hiểu, Cộng đồngThử trực tuyến ở trên cùng. Nhấp vào thẻ Thử trực tuyến nếu chưa chọn thẻ này.
  • (2) Trình khám phá tệp trong ngăn ngoài cùng bên trái. Mọi thư mục trong danh sách này đều chứa một ví dụ nhỏ và độc lập về việc học Kotlin.
  • (3) Trình chỉnh sửa ở ngăn bên phải là nơi bạn sẽ thực hiện hầu hết công việc bằng cách viết mã.

Trình chỉnh sửa mã dựa trên web này có nhiều tính năng khác, nhưng đó là những tính năng bạn cần biết để bắt đầu.

Mở mã mẫu

  1. Trong trình khám phá tệp, nếu bạn chưa chọn, hãy chọn Ví dụ > Xin chào! thế giới! > Simplest version > SimplestVersion.kt (1 trong ảnh chụp màn hình bên dưới).
  2. Trong tên tệp SimplestVersion.kt, hãy lưu ý đuôi tệp .kt (xem 1 trong ảnh chụp màn hình bên dưới). Giống như hình ảnh có tiện ích .jpg hoặc .png, còn tệp PDF có tiện ích .pdf, tất cả các tệp Kotlin phải có tiện ích .kt.
  3. Lưu ý mã trong trình chỉnh sửa (2 trong ảnh chụp màn hình bên dưới). Một số mã được làm nổi bật. Đây là mã bạn sẽ sử dụng.

Sau đây là mã chương trình được làm nổi bật trong trình chỉnh sửa:

fun main(args: Array<String>) {
    println("Hello, world!")
}

Chạy mã của chương trình

Quy trình chạy một chương trình mà bạn đã tạo không khác biệt quá nhiều so với quy trình chạy một chương trình như trình xử lý văn bản trên máy tính. Điểm khác biệt là khi bạn chạy một chương trình để hoàn thành nhiệm vụ (hoặc chơi trò chơi), bạn chủ yếu quan tâm đến những việc mà chương trình đó có thể làm cho bạn mà không quan tâm đến mã nào đang giúp chương trình đó hoạt động. Khi lập trình, bạn sẽ được xem và làm việc với mã thực tế đã tạo nên điều kỳ diệu.

Hãy xem chương trình này làm được những gì!

  1. Trong trình chỉnh sửa, ở góc trên cùng bên phải, hãy tìm hình tam giác màu xanh lục và nhấp vào hình đó để chạy chương trình.

  1. Nếu cần, hãy cuộn xuống dưới trang cho đến khi bạn thấy trình chỉnh sửa ở dưới cùng để xem ngăn ở dưới cùng (1 trong ảnh chụp màn hình bên dưới).

  1. Nhấp vào thẻ Bảng điều khiển. Bảng điều khiển là nơi mà các chương trình có thể in văn bản ra.

  1. Bạn có thể thấy Hello, world! được in trong ngăn Bảng điều khiển, như trong ảnh chụp màn hình ở trên. Bây giờ bạn đã biết chức năng của chương trình này: Dịch vụ sẽ in hoặc xuất thông báo thế giới ra cửa sổ Bảng điều khiển.
  2. Quan sát rằng phía trên Hello, world! đã in là thông báo Compilation complete successfully. Biên dịch là một quá trình dịch mã chương trình Kotlin thành một biểu mẫu mà hệ thống có thể chạy. Quá trình biên dịch hoàn tất đồng nghĩa với việc không có lỗi nào trong chương trình ngăn cản quá trình chạy.

Các phần của chương trình

Bây giờ bạn đã xem chức năng của chương trình này, hãy xem lần đầu tiên chương trình hoạt động như thế nào.

  1. Xem chương trình trong trình chỉnh sửa.
  2. Hãy lưu ý cách mã này có hai phần riêng biệt.

Phần trên cùng của chương trình:

/**
 * We declare a package-level function main which returns Unit and takes
 * an Array of strings as a parameter. Note that semicolons are optional.
 */

Trong đoạn mã ở trên, bạn có thể thấy văn bản bên trong các biểu tượng này: /**/.

Điều này có nghĩa là bình luận đó có nghĩa là một thông báo có thông tin dành cho các nhà phát triển khác. Khi bạn chạy chương trình này, hệ thống sẽ bỏ qua nhận xét này. Tạm thời, bạn cũng có thể bỏ qua bình luận này! Bạn sẽ tìm hiểu thêm về bình luận trong một lớp học lập trình sau này.

Phần dưới cùng của chương trình:

fun main(args: Array<String>) {
    println("Hello, world!")
}

Ba dòng mã này là chương trình thực tế chạy và in thông báo.

Thay đổi mã Hello World (Xin chào thế giới)

Hãy thay đổi chương trình này khác đi một chút.

  1. Thay đổi văn bản "Hello, world!" thành "Happy Birthday!".
  2. Chạy chương trình bằng cách nhấp vào nút chạy màu xanh lục ở trên cùng bên phải.
  3. Trong Bảng điều khiển, giờ đây bạn sẽ thấy Happy Birthday! được in, như minh họa trong ảnh chụp màn hình bên dưới.

Cách thức hoạt động

Làm thế nào để thực hiện việc này? Dường như có rất nhiều mã để in thứ gì đó!

Nếu bạn muốn một người bạn viết "Hello, world!" ("Xin chào, thế giới!") trên một mảnh giấy, thì có rất nhiều thông tin ngụ ý. Nếu bạn chỉ nói với họ và & quot; Viết ' Xin chào thế giới? ' trên phần giấy này", họ sẽ đưa ra giả định về thông tin bạn đã bỏ sót. Ví dụ: họ sẽ cho rằng họ cần dùng bút và bạn muốn họ viết câu đó bằng các chữ cái! Máy tính không đưa ra các giả định như vậy nên bạn phải cung cấp lệnh chính xác bao gồm tất cả các bước.

Giống như ngôn ngữ tiếng Anh có cấu trúc, ngôn ngữ lập trình cũng vậy. Nếu từng học một ngôn ngữ khác thì bạn sẽ hiểu được thách thức của việc học ngữ pháp, chính tả, cũng có thể là bảng chữ cái mới bằng ký hiệu và từ vựng. Việc học lập trình có những thách thức tương tự, nhưng may mắn thay, quá trình này sẽ ít phức tạp và logic hơn nhiều so với việc học, chẳng hạn như học tiếng Anh.

Tìm hiểu các phần của chương trình

Bây giờ, hãy xem qua mã. Mỗi phần của chương trình này phục vụ một mục đích cụ thể và bạn cần tất cả các phần để có thể chạy chương trình. Hãy bắt đầu với từ đầu tiên.

fun
  • fun là một từ trong ngôn ngữ lập trình Kotlin. fun là viết tắt của hàm (function). Hàm là một phần của một chương trình thực hiện một nhiệm vụ cụ thể.
fun main
  • main là tên của hàm này. Các hàm được đặt tên nên bạn có thể phân biệt được từng hàm. Hàm này tên là main vì là hàm đầu tiên (hoặc hàm chính) được gọi khi bạn chạy chương trình. Mọi chương trình Kotlin đều cần một hàm tên là main.
fun main()
  • Tên hàm luôn đứng trước hai dấu ngoặc đơn ().
fun main(args: Array<String>)
  • Bên trong dấu ngoặc đơn, bạn có thể đưa thông tin vào hàm để sử dụng. Giá trị đưa vào hàm gọi là "argument" (đối số) hoặc viết tắt là args. Bạn sẽ tìm hiểu thêm về đối số sau. Bạn chỉ cần biết rằng hàm main luôn có cùng đối số này.
fun main(args: Array<String>) {}
  • Hãy chú ý cặp dấu ngoặc nhọn sau đối số. Bên trong một hàm là mã sẽ hoàn thành một nhiệm vụ. Những dấu ngoặc nhọn này chứa các dòng mã đó.

Nhìn vào dòng mã nằm trong dấu ngoặc nhọn:

println("Happy Birthday!")

Dòng mã này in văn bản Happy Birthday!.

  • println yêu cầu hệ thống in một dòng văn bản.
  • Bạn đưa văn bản cần in vào bên trong dấu ngoặc đơn.
  • Lưu ý rằng văn bản sẽ được in nằm trong dấu ngoặc kép. Điều này cho hệ thống biết rằng mọi nội dung bên trong dấu ngoặc kép sẽ được in chính xác như đã thiết lập.

Để thật sự in văn bản, toàn bộ lệnh println này phải nằm trong hàm main.

Vậy là xong. Chương trình Kotlin nhỏ nhất.

fun main(args: Array<String>) {
    println("Happy Birthday!")
}

Tuyệt vời! Bạn đã in một dòng văn bản bằng println() function. Tuy nhiên, bạn có thể đưa bao nhiêu dòng lệnh vào một hàm tuỳ thích hoặc nếu cần để hoàn thành một nhiệm vụ.

  1. Sao chép dòng println("Happy Birthday!") rồi dán hai lần vào bên dưới dòng đó. Đảm bảo các dòng đã dán nằm trong dấu ngoặc nhọn của hàm main.
  2. Thay đổi một văn bản sẽ in thành tên của một người, chẳng hạn như "Jhansi".
  3. Thay đổi văn bản sẽ in còn lại thành "You are 25!" ("Bạn sang 25 tuổi rồi!").

Mã của bạn sẽ trông giống như mã dưới đây.

fun main(args: Array<String>) {
    println("Happy Birthday!")
    println("Jhansi")
    println("You are 25!")
}

Bạn mong đợi mã này sẽ làm gì khi chạy?

  1. Chạy chương trình để xem kết quả.
  2. Truy cập vào cửa sổ Bảng điều khiển và bạn sẽ thấy 3 dòng được in trong cửa sổ bảng điều khiển, như minh họa trong ảnh chụp màn hình bên dưới.

Bạn làm rất tốt!

Xử lý lỗi

Việc gặp lỗi trong khi lập trình là bình thường và hầu hết công cụ sẽ đưa ra phản hồi để giúp bạn sửa lỗi. Trong bước này, hãy tạo một lỗi để xem điều gì sẽ xảy ra.

  1. Trong chương trình, hãy xoá dấu ngoặc kép chứa văn bản Jhansi để dòng đó có dạng như dưới đây.
println(Jhansi)
  1. Chạy chương trình. Bạn sẽ thấy Jhansi được in màu đỏ và một dấu chấm than bên cạnh dòng 8 của mã, để cho bạn biết vị trí có lỗi.

  1. Hãy di chuyển xuống để xem bảng điều khiển.
  2. Chọn thẻ Chế độ xem vấn đề nếu bạn chưa chọn thẻ này.
  3. Xem thẻ Chế độ xem vấn đề. Phần này hiển thị một thông báo có cùng biểu tượng dấu chấm than và từ Error. Nội dung tiếp đó mô tả lỗi trong mã của bạn.

  1. Tìm số (8, 12). Các số này cho biết dòng trong mã nơi xảy ra lỗi, dòng 8 và vị trí của chữ cái trong dòng đó bắt đầu lỗi, đó là 12.
  2. Tiếp theo, bạn có thể thấy thông báo Unresolved reference: Jhansi. Thông báo này cho bạn biết hệ thống cho rằng lỗi gì trong mã. Ngay cả khi không biết ý nghĩa của thông báo lỗi, bạn vẫn có thể tìm ra sự cố. Trong trường hợp này, bạn biết rằng lệnh println() in văn bản. Bạn đã biết rằng văn bản phải nằm trong dấu ngoặc kép. Nếu văn bản không nằm trong dấu ngoặc kép thì đó là lỗi.
  3. Tiếp tục và thêm lại dấu ngoặc kép.
  4. Chạy chương trình để đảm bảo chương trình hoạt động trở lại.

Xin chúc mừng! Bạn đã chạy và thay đổi chương trình Kotlin đầu tiên!

Đây là mã hoàn chỉnh của chương trình mà bạn đã thực hiện trong lớp học lập trình này.

  • https://try.kotlinlang.org/ là trình soạn thảo mã tương tác trên web nơi bạn có thể thực hành viết các chương trình Kotlin.
  • Mọi chương trình Kotlin đều phải có một hàm main(): fun main(args: Array<String>) {}
  • Sử dụng hàm println() để in một dòng văn bản.
  • Đưa văn bản bạn muốn in vào dấu ngoặc kép. Ví dụ: "Hello".
  • Lặp lại lệnh println() để in nhiều dòng văn bản.
  • Lỗi được đánh dấu màu đỏ trong chương trình. Có một thông báo lỗi trong thẻ Chế độ xem vấn đề để giúp bạn xác định vị trí gặp lỗi và nguyên nhân có thể gây ra lỗi đó.

Lớp học lập trình này nằm trong khóa học Khái niệm cơ bản về Kotlin trên Android.

Thực hiện những việc sau:

  1. Thay đổi lệnh println() thành print().
  2. Chạy chương trình. Điều gì sẽ xảy ra?

Gợi ý: Lệnh print() chỉ in văn bản mà không ngắt dòng ở cuối mỗi chuỗi.

  1. Sửa văn bản sao cho mỗi phần của thông báo đều nằm trên một dòng riêng.

Gợi ý: Sử dụng \n bên trong văn bản để thêm dấu ngắt dòng. Ví dụ: "line \n break". Thao tác thêm dấu ngắt dòng sẽ làm thay đổi kết quả như minh hoạ dưới đây.

Gợi ý: Bạn có thể in một dòng trống bằng cách không cung cấp văn bản: println("").

Mã:

fun main(args: Array<String>) {
    println("no line break")
    println("")
    println("with line \n break")
}

Kết quả:

Kiểm tra thành phẩm:

Sau đây là một giải pháp khả thi:

fun main(args: Array<String>) {
    print("Happy Birthday!\n")
    print("Jhansi\n")
    print("You are 25!")
}