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ể xem chương trình[LINK] là một loạt lệnh để 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à sau này, còn giúp bạn tạo ứng dụng đầu tiên một cách dễ dàng hơn trong khoá học.
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ột máy tính sử dụng một trình duyệt web hiện đại (chẳng hạn như trình duyệt Chrome phiên bản 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ựa trên nền tảng web để tạo chương trình đầu tiên của mình.
- 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.
- Bạn sẽ thấy một trang tương tự như ảnh chụp màn hình dưới đây, trong đó có danh sách tệp ở bên trái và một trình chỉnh sửa ở bên phải. Bạn cũng có thể thấy một hộp màu đen ở góc dưới cùng bên phải có 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 về cookie của trang web này, đừng tiếp tục.
- 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 hộp này.
- Tham khảo ảnh chụp màn hình có chú thích bên dưới để làm quen với trình chỉnh sửa này.
- (1) Các thẻ Tìm hiểu, Cộng đồng và Dùng thử trực tuyến ở trên cùng. Nhấp vào thẻ Dùng thử trực tuyến nếu thẻ này chưa được chọn.
- (2) Trình khám phá tệp trong ngăn bên trái nhất. Mỗi thư mục trong danh sách này đều chứa một ví dụ nhỏ, độc lập để học Kotlin.
- (3) Trình chỉnh sửa trong ngăn bên phải là nơi bạn sẽ thực hiện hầu hết các thao tác 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 đây là những tính năng bạn cần biết để bắt đầu.
Mở mã mẫu
- Trong trình khám phá tệp, nếu chưa chọn, hãy chọn Examples > Hello, world! > Simplest version > SimplestVersion.kt (1 trong ảnh chụp màn hình bên dưới).
- Trong tên tệp SimplestVersion.kt, hãy lưu ý đến phần đ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ó đuôi
.jpg
hoặc.png
và tệp PDF có đuôi.pdf
, tất cả các tệp Kotlin đều phải có đuôi.kt
. - Hãy 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 đánh dấu. Đây là mã mà bạn sẽ sử dụng.
Đây là mã chương trình được đánh dấu trong trình soạn thảo:
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 chức năng của chương trình đó mà không quan tâm đến mã khiến chương trình đó hoạt động. Khi lập trình, bạn sẽ được xem và tìm hiểu 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ì!
- Trong trình chỉnh sửa, ở góc trên cùng bên phải, hãy tìm biểu tượng hình tam giác màu xanh lục
rồi nhấp vào biểu tượng đó để chạy chương trình.
- Nếu cần, hãy cuộn xuống trên trang cho đến khi bạn thấy cuối trình chỉnh sửa để xem ngăn ở dưới cùng (1 trong ảnh chụp màn hình bên dưới).
- 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 đầu ra văn bản.
- Nhận thấy
Hello, world!
được in trong ngăn Console (Bảng điều khiển), như trong ảnh chụp màn hình ở trên. Giờ đây, bạn đã biết chương trình này làm gì: Chương trình này in (hoặc xuất ra) một thông báo hello world (xin chào thế giới) vào cửa sổ Console (Bảng điều khiển). - Lưu ý rằng phía trên
Hello, world!
được in là thông báoCompilation complete successfully
. Biên dịch là quá trình dịch mã của chương trình Kotlin sang một dạng 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 một chương trình
Bây giờ, khi đã biết chương trình này làm được những gì, hãy xem cách chương trình thực hiện điều đó.
- Xem chương trình trong trình chỉnh sửa.
- Lưu ý cách đoạn mã này có hai phần riêng biệt.
Phần đầu 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 ký hiệu sau: /*
và */.
Điều này có nghĩa là đó là một nhận xét, tức 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, hệ thống sẽ bỏ qua nhận xét này. Hiện tạ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ề chú thích 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.
- Thay đổi văn bản
"Hello, world!"
thành"Happy Birthday!"
. - 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.
- Trong Console (Bảng điều khiển), bạn sẽ thấy
Happy Birthday!
xuất hiện, như minh hoạ trong ảnh chụp màn hình dưới đây.
Cách thức hoạt động
Làm thế nào để thực hiện việc này? Có vẻ như sẽ cần rất nhiều mã để in một nội dung bất kỳ!
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 đơn giản chỉ nói với họ là "Hãy viết "‘Hello world!" trên mảnh giấy này", thì họ sẽ đưa ra các giả định về thông tin bạn không nhắc tới. 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àmmain
luôn có cùng một đối số này.
fun main(args: Array<String>) {}
- Chú ý cặp dấu ngoặc nhọn sau các đố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!")
}
In nhiều thông báo
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ụ.
- 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àmmain
. - 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".
- 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?
- Chạy chương trình để xem kết quả.
- Chuyển đến cửa sổ Console (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 hoạ trong ảnh chụp màn hình bên dưới.
Xuất sắc!
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.
- 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)
- Chạy chương trình. Bạn sẽ thấy
Jhansi
được in màu đỏ và biểu tượng dấu chấm than bên cạnh dòng 8 của mã, để cho bạn biết lỗi nằm ở đâu.
- Di chuyển xuống để xem bảng điều khiển.
- Chọn Thẻ Chế độ xem vấn đề nếu bạn chưa chọn.
- Xem thẻ Problems view (Chế độ xem vấn đề). Ngăn này đưa ra 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.
- Tìm các 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 đó nơi bắt đầu lỗi (12
). - Tiếp theo, bạn có thể thấy một 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 nằm trong mã này. 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ệnhprintln()
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. - Tiếp tục và thêm lại dấu ngoặc kép.
- 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ã nguồn 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à một 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ẻ Problems view (Chế độ xem vấn đề) để giúp bạn tìm ra lỗi ở đâu và nguyên nhân có thể gây ra lỗi.
Lớp học lập trình này thuộc khoá học Kiến thức cơ bản về cách tạo ứng dụng Android bằng Kotlin.
Thực hiện những việc sau:
- Thay đổi lệnh
println()
thànhprint()
. - 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.
- 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")
}
Đầu ra:
Kiểm tra thành phẩm của bạn:
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!")
}