Hướng dẫn học java căn bản năm 2024
Java là ngôn ngữ lập trình cấp cao (high level) và là một nền tảng (platform) để chạy các chương trình viết bằng Java. Show Java có thể tạo nhiều loại ứng dụng khác nhau:
Có khoảng 3 tỉ thiết bị chạy Java platform, chứng tỏ Java rất phổ biến hiện nay. 2. HistoryJames Gosling và các cộng sự đã tạo ra ngôn ngữ Java, ban đầu có tên là Greentalk, rồi đổi thành Oak (cây sồi). Lúc đầu Java chỉ dùng cho các thiết bị điện tử và nhúng. Đến năm 1995 đổi tên thành Java. Java trải qua nhiều version khác nhau, bản mới nhất là SE 14. Java hiện đang được sở hữu bởi Sun Microsystem (thuộc Orable). 3. EditionsCó 4 phiên bản chính, dành cho các mục đích khác nhau:
4. FeaturesMột số đặc điểm, tính năng quan trọng và vượt trội của Java có thể kể đến như sau. Platform independent Độc lập nền tảng là đặc điểm quan trọng nhất của Java. Java biên dịch source code thành bytecode độc lập nền tảng, chạy được bất kì phần cứng, HĐH nào hỗ trợ Java platform. Write once, run anywhere - Tiêu chí của Java Simple Java là ngôn ngữ đơn giản, cú pháp dễ học tương tự C++ nhưng bỏ đi một số tính năng không cần thiết, rườm rà (pointer, operator overloading,...) Bên cạnh đó, Java còn có GC giúp tự động dọn dẹp, quản lý bộ nhớ mà không cần quản lý thủ công. Object oriented Java là ngôn ngữ thuần hướng đối tượng (OOP). Multi threaded Chương trình Java có thể có nhiều thread, nên tốc độ và hiệu suất sẽ tốt hơn. Secure Java khá an toàn, hạn chế tối đa các vấn đề bảo mật tiềm ẩn. Java bỏ sử dụng pointer, ép kiểu chặt chẽ và cơ chế xác minh code nghiêm ngặt. Ngoài ra, do chương trình Java chạy trong máy ảo JVM nên lỗi phát sinh dễ dàng kiểm soát, không ảnh hưởng tới hệ thống. Robust Java mạnh mẽ ở chỗ quản lý bộ nhớ tự động, có cơ chế xử lý ngoại lệ và kiểm tra lỗi nghiêm ngặt. Portable Bytecode của java có thể mang đi nhiều nền tảng khác nhau mà vẫn hoạt động bình thường, do đó Java có tính khả chuyển (portable). B. Java concepts1. ComponentsJava platform Platform (nền tảng) là một loại phần cứng hoặc phần mềm có thể thực hiện chức năng chạy chương trình. Như vậy, java platform là nền tảng cho phép chạy các chương trình java trên nó. Java platform gồm compiler, các thư viện và nhiều tools khác hỗ trợ việc chạy chương trình. Java Virtual Machine JWM là chương trình chuẩn bị môi trường thực thi cho ứng dụng Java. Có thể xem nó như một máy ảo (trừu tượng) để chương trình chạy bên trong nó. JWM có 4 chức năng:
Java Runtime Environment JRE gồm JVM, các thư viện chạy và các chương trình hỗ trợ chạy ứng dụng java. Có thể so sánh JRE với .NET framework. JRE dành cho user muốn chạy các app viết bằng java, nếu không có thì không chạy được. Java Development Kit JDK bao gồm JRE và các công cụ khác để hỗ trợ lập trình java (compiler, interpreter, docs,...). Khác với JRE là dành cho user, JDK dành cho lập trình viên, để viết ra các chương trình java. Garbage Collection GC là một thành phần của JVM, có tác dụng kiểm soát và thu gom các vùng nhớ không dùng nữa (không còn được tham chiếu đến) để trả lại cho HĐH, giúp tiết kiệm bộ nhớ, 2. IDECó khá nhiều IDE hỗ trợ lập trình java, nhưng mình khuyến khích sử dụng Eclipse hoặc IntelliJ IDEA để code. NetBean khá ổn nhưng mình không thích giao diện của nó, ít ra Eclipse còn đẹp hơn. 3. Build commandsTuy mọi IDE đều hỗ trợ build và chạy chương trình java, bạn cũng nên biết cách biên dịch thủ công bằng command line.
Biên dịch file
3 thành bytecode
4.
Thực thi bytecode trong file
4 và chạy chương trình. Lưu ý không cần thêm đuôi
2 vào tên file. Chương trình
7 có trong JDK (cho lập trình viên) và
8 có trong JRE và cả JDK (vì JDK chứa JRE). 4. Build toolsTrong dự án java lớn thì có thể sử dụng nhiều thư viện, nhiều framework khác để hỗ trợ. Có những thư viện của java và cả những thư viện bên ngoài. Do đó, cần có các công cụ hỗ trợ build và quản lý các thư viện đó (gọi là dependency), do đó build tools còn được gọi là dependencies manager. Hai công cụ phổ biến là Maven và Gradle, có thể tìm hiểu thêm. 5. Naming conventionĐể code java được rõ ràng, thống nhất, nên tuân thủ một số quy ước đặt tên (naming convention) của java. Điều này không bắt buộc, nhưng được khuyến khích để code clean hơn. Các đối tượng khác nhau trong code có cách đặt tên riêng:
Java là ngôn ngữ phân biệt hoa thường. C. Java basic1. Simple programCấu trúc chung của một chương trình java. Khi đi sâu hơn, thì mỗi class chứa trong một file riêng cũng có cấu trúc như thế này.
Source code lưu trữ trong file
8, mỗi file như vậy đều phải có một
9 duy nhất, các class khác là phụ và chỉ được khai báo
0. Tên
9 cần trùng với tên file, như ví dụ trên file là
8 thì tên class chính phải là
3. Trong class chính, phải có một method
4 là
5. Đây là nơi bắt đầu chạy toàn bộ chương trình. 2. CommentComment bị bỏ qua khi biên dịch. Java có 2 loại comment:
Comment
6 dùng để comment, chú thích cho code, trong khi đó
7 thường dùng để tạo document. Và có thêm một loại comment nữa khá giống với
7 là documentation comment, dùng để viết document với công cụ javadoc. Documentation comment có dạng
1. 3. ImportDùng từ khóa
2 để import một hoặc nhiều class vào chương trình. Các class có thể thuộc nhiều package khác nhau.
Nếu không import như trên, thì khi dùng trong chương trình cần chỉ định rõ
3, ví dụ như sau.
Câu lệnh
2 thường đặt ở ngoài và trên cùng, dưới khai báo
5. 4. Variable & constantVariable Biến trong Java có 3 loại, mỗi loại nằm ở vị trí riêng:
Cú pháp khai báo tương tự C++. Có thể bỏ qua init value, và có thể khai báo nhiều biến cùng loại trên một dòng.
Constant Hằng (constant) tương tự như khai báo biến. Trước đây dùng từ khóa
7, nhưng được thay thế bằng
8.
Hằng không thể gán giá trị mới, và bắt buộc có init value khi khai báo. Đối với hằng số là object, thì các trường của object vẫn có thể thay đổi được. 5. Input & outputOutput Dùng các lệnh print của
9 để xuất output ra màn hình console (của cmd hoặc Eclipse console).
Các lệnh trên nhận tham số là chuỗi, đối với
0 thì tham số sau là những value truyền vào. Do đó, cách viết sau là sai.
Phải dùng phép nối chuỗi
1, java sẽ tự động convert các biến thành chuỗi và nối lại mới hợp lệ. Ngoài output stream là
9 còn có
3 tương tự, nhưng chỉ dùng xuất lỗi ra màn hình. Console trong eclipse sẽ hiển thị các văn bản xuất ra
3 bằng màu đỏ. Input Để nhập dữ liệu từ console, dùng class
5 như sau.
Để đọc dữ liệu, dùng các method
6 phù hợp với loại dữ liệu cần đọc, ví dụ.
0 Sau khi dùng các lệnh
7,
8,... nói chung là đọc số, thì dùng thêm một lệnh
9 phía sau để xóa kí tự
0 thừa còn lại trong bộ đệm sau khi đọc số. Các method đọc số chỉ lấy số, bỏ lại kí tự
0, làm cho lệnh đọc chuỗi phía sau bị trôi đi (kết quả chuỗi rỗng, nó chạy luôn mà không dừng lại để nhập). Do đó, dùng thêm
9 sau khi đọc số để xóa kí tự
0 còn sót đi, để tránh lỗi trôi lệnh như trên. |