Series
Tản Mạn Về Ngôn Ngữ Java Và Lập Trình Android
bao gồm các bài viết không mang tính hệ thống và có thể được bổ sung, điều chỉnh thứ tự sắp xếp trong tiến trình tự học.
Kiến thức nền tảng
Đây đã là ngôn ngữ lập trình thứ N
trong hành trình tự học mà mình đang thực hiện các bài viết chia sẻ kiến thức tại đây. Vì vậy các bài viết tản mạn tại đây sẽ tránh giải thích lại những khái niệm căn bản mà mình đã nghiệm thu được khi học JavaScript
và C
. Nếu như bạn đã cùng đồng hành từ Series Tự Học Lập Trình Web đầu tiên thì sẽ cần lướt qua thêm Sub-Series C
của Series Một Số Mô Hình Lập Trình Phổ Biến để có thể bắt đầu đọc Series này. Còn trong trường hợp bạn đến với bài viết này từ một nguồn nào đó khác thì khả năng rất cao là bạn hiểu về các khái niệm lập trình căn bản và Java
nhiều hơn so với một newbie
mất gốc đang tự học lại như mình.
Ngôn ngữ & Môi trường
Ngôn ngữ Java
được thiết kế bởi kỹ sư phần mềm James Gosling
và ra mắt phiên bản đầu tiên vào năm 1995, hiện tại đang được phát triển bởi Oracle
và được sử dụng trên hai nền tảng chính:
JVM - Java Virtual Machine
- máy ảoJava
được thiết kế để làm môi trường vận hành trung gian giữa lập trình viên và các hệ điều hành máy tính nhưWindows
,Linux
,BSD
, v.v...ART - Android RunTime
- máy ảoAndroid
được thiết kế để làm môi trường vận hành trung gian giữa lập trình viên và phiên bảnLinux
đặc biệt doGoogle
thiết kế dành riêng cho các thiết bịAndroid
.
Hai môi trường vận hành này cung cấp bộ giao diện lập trình API
có phần khác nhau, tuy nhiên về mặt hỗ trợ các tính năng ở cấp độ cú pháp ngôn ngữ Java
thì ART
hỗ trợ đầy đủ các tính năng tương đương với JVM
phiên bản LTS - Long Term Support
.
Phần chung giữa hai bộ giao diện lập trình trên ART
và JVM
chủ yếu là về các cấu trúc dữ liệu dựng sẵn và các module
hỗ trợ giao tiếp mạng network
. Phần khác nhau là ART
có thêm các thư viện hỗ trợ điều khiển các module
phần cứng của các thiết bị Android
, còn JVM
có thêm các thư viện hỗ trợ dựng giao diện đồ họa người dùng cho môi trường máy tính nếu không kể thêm phiên bản hỗ trợ phát triển các ứng dụng doanh nghiệp J2EE
:
ART:
Android SDK API
JVM:
JDK 17 LTS API
Các bài viết trong Series sẽ tản mạn trong phạm vi tính năng của ngôn ngữ Java
ở cấp độ cú pháp và giao diện lập trình cho Android
. Tuy nhiên, để khởi đầu thì việc in kết quả vận hành code ra cửa sổ dòng lệnh của máy tính sẽ đơn giản hơn nhiều so với việc tạo ra build
một project Android
vì vậy nên chúng ta sẽ chưa cần quan tâm tới ART
.
Tải về:
Sau khi tải về và cài đặt xong JDK
, ở cửa sổ dòng lệnh, chúng ta có thể gõ lệnh kiểm tra phiên bản của trình biên dịch javac
.
javac --version javac 17.0.6
Trình biên dịch này sẽ giúp chuyển đổi code Java
mà chúng ta viết sang code vận hành có thể hiểu được bởi máy ảo JVM
. Sau đó, máy ảo JVM
sẽ có nhiệm vụ chuyển tải lại logic công việc cần thực hiện cho hệ điều hành máy tính mà chúng ta đang sử dụng.
Chương trình Hello, World!
Code Java
mà chúng ta viết sẽ được đặt trong các tệp văn bản có định dạng .java
. Mỗi tệp này sẽ chỉ được chứa duy nhất một khối code định nghĩa ở cấp tổng quan cao nhất của tệp, đó có thể là code định nghĩa một class
, hay một interface
, hay một enum
.
class HelloWorld { public static void main (String[] args) { System.out.println ("Hello, World!"); } }
Máy ảo JVM
sẽ có thể bắt đầu thực thi chương trình từ một phương thức static main
của một class
bất kỳ như trong code ví dụ trên. Để biên dịch code chúng ta gõ lệnh:
cd learn-java-language
javac HelloWorld.java
Sau đó trong thư mục project
sẽ xuất hiện thêm tệp cùng tên với tệp mã nguồn HelloWorld
nhưng có định dạng .class
. Lúc này để bắt đầu chạy code bằng JVM
, chúng ta gõ lệnh:
java HelloWorld.class
Hello, World!
Nhìn chung thì chúng ta đang có cú pháp định nghĩa class
đã khá quen thuộc như trong JavaScript
. Ở đây Java
được triển khai là