Bài 2.1. Nhập môn ngôn ngữ lập trình Java
Nội dung bài học
- Tạo project
- Tạo file chương trình
- Viết và chạy chương trình đầu tiên
- Tìm hiểu các thành phần cấu thành của chương trình
- Tìm hiểu về khoảng trắng và chú thích
Tạo project
- Từ giao diện công cụ IntelliJ, chọn File -> New -> Project…
- Giao diện mới hiện ra như sau, bạn thực hiện:
- Mục bên trái để mặc định là New Project hoặc Java.
- Mục bên phải, tại số 2 bạn đặt tên cho project. KHÔNG đặt tên project bằng tiếng Việt có dấu, không lưu trong thư mục tên tiếng Việt có dấu, KHÔNG có dấu cách, kí tự đặc biệt như .,?/#!~%^&*=+… trong tên thư mục.
- KHÔNG đặt tên project trùng với project đã có từ trước đó. Nên đặt tên project bằng tiếng Anh hoặc tiếng Việt KHÔNG CÓ DẤU, viết liền các từ trong tên. Ví dụ:
- Hợp lệ: LearnJava, JavaCore, HocJava, …
- KHÔNG hợp lệ: Learn ^Java, Học Lập Trình Java…
- Mục số 3 bạn chọn nơi lưu project hoặc để mặc định.
- Mục số 4 bạn chọn phiên bản Java(thông qua JDK), nếu chưa cài java bạn có thể thực hiện ngay trong này.
- Mục số 5 để mặc định nhằm tạo code mẫu.
- Sau khi xong xuôi, bạn nhấn mục số 6 để tạo project mới.
- Nếu giao diện tiếp theo hiện lên hỏi bạn mở project trong cửa sổ mới hay hiện tại, bạn mở trong cửa sổ mới cho tiện xem code nhiều project về sau.
- Bạn có thể tick ô số 1 để lần sau công cụ không hỏi lại.
- Kết quả là ta đã tạo được một project trống trong công cụ IntelliJ.
Tạo file chương trình
- Mặc định project sẽ tự mở sẵn xổ ra các mục bên trong nó. Nếu không bạn làm theo bước kế tiếp.
- Từ giao diện gốc sau khi tạo project, ta chọn mục Project ở phía tay trái, sau đó chọn click tam giác đầu tên project vừa tạo để nó xổ xuống như hình.
- Từ giao diện này chọn mục src -> chuột phải -> New -> Java Class.
- Để mặc định chọn class. Đặt tên cho class là các danh từ thể hiện một thứ gì đó. Tên file viết liền, viết hoa chữ cái đầu các từ và không dùng tiếng Việt có dấu, trong tên KHÔNG có dấu cách, không chứa kí tự đặc biệt. Thường trong tên chỉ bao gồm chữ cái a-zA-Z, chữ số 0-9 và dấu gạch dưới _. Xong xuôi bạn nhấn Enter.
- Kết quả ta được file chương trình MyOldLove.java. Tên file chương trình Java luôn có phần mở rộng *.java:
Viết và chạy chương trình đầu tiên
Viết chương trình:
- Đặt con trỏ chuột sau kí tự { của dòng 1 và nhấn Enter.
- Gõ psvm hoặc main sau đó nhấn phím Tab hoặc Enter, thường dùng phím Tab để chương trình tạo phương thức main() như hình dưới:
- Kết quả được đoạn chương trình như sau:
- Sau đó trong phương thức main() bạn gõ sout hoặc souf và nhấn Tab hoặc Enter:
- Tiếp đó, bạn gõ nội dung cần hiển thị vào trong ngoặc tròn của phương thức println(), print() hoặc printf().
- Nếu muốn hiển thị thông báo dạng lỗi đỏ lòm bạn thay out bởi err. Sau đây đoạn mã hoàn chỉnh:
public class Lesson21 {
public static void main(String[] args) {
System.out.println("Hello Nguyễn Ngọc Mai!");
System.out.printf("%s%n", "Nguyễn Ngọc Mai");
System.out.print("Nguyễn Ngọc Mai\n");
System.err.printf("%s\n", "This is an error!");
}
}
Chạy chương trình:
- Chuột phải vào giao diện file mã nguồn chương trình chọn Run ‘Lesson21.main()’ có tam giác xanh rỗng ở đầu hoặc click tam giác xanh ở đầu dòng 1 hoặc dòng 2 chọn Run ‘Lesson21.main()’ tương úng tổ hợp phím Ctrl Shift F10 trên Window. Gợi ý tương ứng có trên các hệ điều hành khác.
- Nội dung kết quả có dạng:
Tìm hiểu các thành phần cấu thành của chương trình
- Trong chương trình trên gồm các thành phần cốt yếu cấu thành chương trình Java: các keyword, tên lớp, các phương thức, câu lệnh, chuỗi kí tự…
- Các thành phần như public, class, static, void là các keyword(từ khóa). Chúng được gán sẵn cho một chức năng đặc biệt nào đó và thường được sử dụng kết hợp với nhau để thực hiện một ý nghĩa cụ thể.
- Một thành phần nào đó bắt đầu bởi public có nghĩa là thành phần đó có thể được sử dụng mọi nơi trong chương trình, không giới hạn.
- Trong Java, tất cả mọi thứ được bao trong các lớp. Từ khóa class để chỉ ra rằng sau nó sẽ là tên của một lớp nào đó. Mỗi lớp là một bản mẫu thiết kế biểu diễn một đối tượng nào đó vô hình hoặc hữu hình trong thế giới thực vào thế giới của máy tính.
- HelloJava là tên lớp vì nó đi sau từ khóa class. Để ý rằng tên file là HelloJava.java, trùng tên với tên lớp bắt đầu bởi public. Cụ thể ở đây là public class HelloJava… Mặc định cũng áp dụng tương tự cho các lớp pulic khác. Mỗi một file chương trình Java sẽ có đuôi .java và trong file đó chỉ có thể có duy nhất một lớp là public, lớp này sẽ có tên trùng với tên file nếu không thì chương trình của bạn sẽ bị lỗi.
- Phần thân của lớp gói gọn trong phạm vi của cặp { và } sau tên lớp. Trong khu vực này bạn có thể khai báo các thành phần hợp lệ nào đó như các trường, các phương thức, các lớp, các interface, enum… sẽ tìm hiểu sau.
- Sau đó ta thấy ở dòng số 2:
public static void main…
đây là dòng khai báo phương thức main, hay còn gọi là hàm main. Mặc định phương thức main trong Java là phương thức static, có kiểu là void. Sau void là tên phương thức, tức main. Đây là phương thức bắt buộc phải có để một chương trình Java có thể chạy được. Ở hiện tại ta sẽ bỏ qua việc tìm hiểu cụ thể static, void, và coi nó là mặc định của phương thức main cho đơn giản. - Sau tên phương thức là cặp () chứa String[] args bên trong. Cặp ngoặc tròn () là dấu hiệu nhận diện một phương thức. Trong cặp ngoặc đó là tham số của nó. Tham số là nơi nhận dữ liệu đầu vào phục vụ quá trình hoạt động của phương thức. Cụ thể ta sẽ tìm hiểu chi tiết về nó qua từng bài học.
- Sau cặp ngoặc tròn là cặp {} để chỉ ra rằng đó là phần thân của phương thức, nơi chứa tập hợp các câu lệnh liên quan cùng thực hiện chức năng nào đó.
- Dòng số 3 là
System.out.println(“Hello Java”);
dùng để hiển thị thông điệp trong dấu “” ra màn hình. Một lần nữa ta thấy sau println có cặp ngoặc tròn () nên println là một phương thức. Mục đích của phương thức là thực hiện một hành động, cụ thể phương thức này làm nhiệm vụ in nội dung bên trong cặp “” ra màn hình. - Cuối dòng số 3, ngay sau dấu đóng ngoặc tròn ) là dấu chấm phẩy ; thể hiện sự kết thúc trọn vẹn của một câu lệnh. Ở thời điểm hiện tại, mọi dòng lệnh không kết thúc bằng { hoặc } thì phải kết thúc bằng ;
- Lưu ý cặp { và }, ( và ) luôn đi theo từng đôi có mở thì phải có đóng nếu không chương trình sẽ báo lỗi.
- Bạn có thể hiển thị những gì bạn muốn ra màn hình bằng cách thay thế nội dung trong “” của phương thức println theo ý bạn.
- Bạn cũng có thể in ra màn hình bao nhiêu lần tùy ý bằng cách lặp lại câu lệnh ở dòng số 3 và thay đổi nội dung hiển thị. Ví dụ:
public class HelloJava {
public static void main(String[] args) {
System.out.println("Hello Java");
System.out.println("My name is Hoa");
System.out.println("I'm 20 years old");
System.out.println("I'm start learning Java today");
System.out.println("Nice to meet you!");
}
}
Tìm hiểu về khoảng trắng và chú thích
- Trong chương trình trên ta thấy rằng nội dung trong một khối bao bởi {} luôn thụt vào một khoảng tương đương 4 kí tự(1 tab ngang) so với kí tự đầu tiên của dòng chứa dấu {. Cụ thể nội dung của lớp lùi vào 1 tab so với đầu dòng khai báo lớp. Tương tự, nội dung của phương thức lùi 1 tab so với đầu dòng khai báo phương thức.
- Kí tự { viết cách kí tự cuối khác khoảng trắng liền trước nó 1 dấu cách.
- Mục đích của việc này là làm cho code dễ đọc và dễ theo dõi. Chỉ mang ý nghĩa với người đọc chương trình, máy tính sẽ không quan tâm điều này.
- Nếu muốn ghi chú lại phần chương trình có thể gây nhầm lẫn hoặc một ý nghĩa, công thức nào đó ta dùng chú thích. Mục đích là để nhanh chóng nhập tâm vào chương trình khi đọc code, tiết kiệm thời gian tìm hiểu khi đọc code của người khác hoặc thuận tiện khi bảo trì, nâng cấp chương trình.
- Có 3 cách chú thích:
- Chú thích trên một dòng, bắt đầu bởi // và có hiệu lực đến hết dòng chứa // đó.
- Chú thích trên nhiều dòng, bắt đầu với /* và kết thúc ở */ để chứa các mô tả dài hơi mà chú thích trên 1 dòng không thể hiện hết được.
- Chú thích document, thường là chú thích trên nhiều dòng dùng để viết document cho class, method, … bắt đầu với /** kết thúc bởi */.
- Ví dụ:
/**
* Đây là bài học java số 2.1 của tôi
* trên Branium. Trong bài học tôi đã học cách tạo project...
*/
public class Lesson21 { // khai báo lớp Lesson21
/**
* Đây là phương thức start chương trình
* @param args tham số nhận dữ liệu đầu vào
*/
public static void main(String[] args) { // hàm main - nơi start chương trình trong java
System.out.println("Hello Nguyễn Ngọc Mai!"); // hàm println() để in ra kết quả sau đó tự xuống dòng
System.out.printf("%s%n", "Nguyễn Ngọc Mai");
System.out.print("Nguyễn Ngọc Mai\n");
System.err.printf("%s\n", "This is an error!");
} // end main
} // end Lesson21
// main -> tab/enter
// println: sout -> tab
/*
đây
là c
chú
thích
trên nhiều
dòng
nhá
*/
- Chú thích sẽ không được đưa vào xử lý khi chạy chương trình. Nó chỉ có ý nghĩa với người đọc mã nguồn(code).
- Ta có thể dùng chú thích để bỏ đoạn chương trình nào đó khỏi sự thực thi khi chương trình chạy. Ví dụ:
// System.out.println("Hello Java"); // hiển thị "Hello Java"
Sẽ làm cho chương trình bỏ qua dòng lệnh trên. Quy tắc tương tự cũng áp dụng cho chú thích trên nhiều dòng.
- Để comment nhanh, chọn dòng, cụm dòng cần chú thích, sau đó bạn nhấn tổ hợp phím Ctrl / trên máy Windows, Linux, Command / trên máy Mac.
- Làm tương tự để bỏ comment hoặc cụm comment. Nếu muốn bỏ comment cho cả cụm thì bạn cần chọn cụm dòng đó sau đó mới nhấn tổ hợp Ctr / hoặc Command /.
- Như vậy ta đã hoàn tất bài nhập môn lập trình Java. Những điều thú vị hơn đang chờ bạn ở các chương tiếp theo.