Được chỉnh sửa ngày 28/10/2020.
Chào mừng các bạn đến với bài học Java số 3, bài học về tạo mới project Java bằng InteliJ. Bài học này nằm trong chuỗi bài học lập trình ngôn ngữ Java của Yellow Code Books.
Với việc tìm hiểu về ngôn ngữ và cách thức cài đặt một môi trường lập trình Java từ hai bài trước. Hôm nay chúng ta cùng mở InteliJ lên để bắt đầu làm quen với IDE và với đoạn code Java đầu tiên của bạn.
Mình xin nhắc lại rằng, mình đang sửa chữa lại các bài viết của mình sao cho hoạt động dựa trên một IDE duy nhất là InteliJ, mặc dù có nhiều bài viết khác của mình vẫn đang viết dựa trên Eclipse (hoặc cả hai). Nên nếu bạn đọc sang các bài tiếp theo, rất có thể bạn sẽ nhìn thấy có sự tồn tại song song của cả hai IDE. Dù vậy mình nghĩ rằng nếu bạn đang quen với bất kỳ IDE nào, bạn vẫn tiếp tục đọc các bài viết của mình mà không bị bất kỳ cản trở nào nhé. Và nếu bạn muốn (mình nghĩ là nên vậy), bạn hãy xem lại các bài viết về Java từ đầu của mình để học cách sử dụng InteliJ thay cho Eclipse (nếu bạn đang dùng Eclipse), bạn sẽ thích InteliJ này sớm thôi.
Làm Quen Với InteliJ
Chúng ta bắt đầu thao tác gì đó với InteliJ để cùng quen thuộc với công cụ lập trình này nào.
Tạo Mới Project Bằng InteliJ
Chúng ta hãy thử tạo một project… ủa mà project là gì?
Một project nó như là một ứng dụng của chúng ta vậy. Thường người ta tạo ra project để phát triển ra một thành phẩm nào đó. Trong project sẽ chứa đựng các thành phần có liên quan với nhau, cùng kết hợp với nhau để cho ra một sản phẩm cuối cùng. Sản phẩm đó có thể là một ứng dụng, một thư viện, hay có thể là một bài học độc lập mà bạn muốn. Do đó trong khuôn khổ bài học và thực tập của các bạn, bạn có thể tổ chức sao cho mỗi project là một bài học riêng biệt, hoặc một project chung cho tất cả các bài học đều được. Project của bạn có thể chỉ chứa một lớp (bạn sẽ làm quen đến khái niệm lớp sớm thôi), hoặc vô số lớp tùy thích bạn nhé.
Quay lại việc tạo project trong InteliJ. Cơ bản thì bạn có hai cách sau.
Nếu mở IntelJ lên mà nhìn thấy màn hình Welcome như dưới đây thì bạn có thể nhấn vào New Project để tạo một project mới.

Còn nếu bạn đã đang mở một project nào đó mà muốn tạo một project mới khác thì có thể chọn theo menu File > New > Project… như hình dưới đây.

Dù chọn tạo mới project theo cách nào thì cửa sổ sau cũng sẽ xuất hiện sau đó.

Bạn hãy đảm bảo Java được chọn ở danh sách các ngôn ngữ hay platform bên trái ở màn hình trên, và để mặc định ở bên phải rồi nhấn Next.
Sau đó có xuất hiện màn hình nào nữa thì bạn cứ tiếp tục nhấn Next. Cho tới khi đến màn hình sau.

Màn hình trên là nơi chúng ta bắt đầu đặt tên cho project ở mục Project name, và đường dẫn chứa project đó trong máy ở mục Project location. Với Project name thì mình đặt là HelloWord. Còn Project location thì mình để như trên, bạn có thể chỉ định thư mục nào mà bạn muốn nhé.
Tại sao project này lại có tên HelloWorld bạn biết không? Vì đây là project Java đầu tiên của bạn tính từ đầu bài học tới giờ. Và sở dĩ project đầu tiên lại có tên như vậy vì nó thể hiện rằng đây là dấu ấn của bạn với một ngôn ngữ lập trình mới, mà với lập trình viên, dấu ấn đầu tiên đó được xem như một sự chào hỏi của bạn đến với thế giới. Nghe hoành tráng ha, thực ra thì mình cũng đùa một tí, câu chào hello world! luôn được các cuốn sách hay các trang web hướng dẫn lập trình sử dụng khi hướng dẫn mọi người ở bài học đầu tiên, nó mang ý nghĩa bắt đầu cho những điều hay ho phía trước. Và bài học của mình cũng không ngoại lệ, cũng hello world!. Bạn có quyền đặt bất kỳ cái tên nào ở bài hôm nay cũng được.
Sau khi chỉ định tên và nơi chứa project xong hết rồi thì bạn nhấn nút Finish. Lúc này màn hình chính của InteliJ sẽ hiện ra.
Tổng Quan InteliJ
Nếu bạn nào từng làm quen với lập trình Android thì sẽ thấy, InteliJ và Android Studio nó rất rất rất giống nhau (thực chất thì chúng là một). Tuy nhiên mình cũng sẽ liệt kê lại các thành phần chính của InteliJ như sau.

1. Toolbar( thanh công cụ): nơi đây bạn có được các nút điều khiển chính, chẳng hạn như các nút Mở project, Lưu project, Cắt/Dán dữ liệu,… Hoặc đặc thù hơn với lập trình có các nút Khởi chạy ứng dụng, Debug ứng dụng,…
2. Navigation bar (thanh điều hướng): giúp bạn theo dõi file nào đang được mở, đường dẫn file đó trong project của bạn như thế nào.
3. Editor window (cửa sổ soạn thảo): là nơi bạn code vào đây.
4. Tool window bar (các điều khiển cho các công cụ khác): các công cụ khác chính là các công cụ cho bạn can thiệp vào các công cụ quản lý của hệ thống. Chẳng hạn như Quản lý log, Quản lý quá trình debug, Quản lý kết quả tìm kiếm, Xem cây thư mục của project,… Tuy nhiên dàn nút trên đây chỉ là cho phép bạn tắt mở các công cụ tương ứng mà thôi. Mỗi công cụ sẽ được mở ra ở dạng cửa sổ như mục số 5.
5. Tool windows: chính là các cửa sổ được điều khiển tắt mở từ thanh số 4 mà mình có nói đến trên đây.
6. Status bar: thanh trạng thái, hiển thị trạng thái của project và của chính InteliJ. Bạn sẽ thấy thông báo ứng dụng đang được thực thi, có thành công không, có lỗi gì không,…
Tạo Mới Một Lớp Bằng InteliJ
Bạn đã hiểu sơ sơ về project rồi ha. Giờ bạn cần phải hiểu thêm về khái niệm lớp, hay class.
Vậy thì lớp là gì? Như ở bài trước mình cũng có nói Java là một ngôn ngữ hướng đối tượng (OOP). Ngay khi làm việc với Java bạn buộc phải suy nghĩ và làm việc với các đối tượng dù bạn có là người mới vào hay không. Và lớp là một trong những khái niệm của hướng đối tượng. Bạn sẽ bắt đầu biết rõ về lớp từ bài học số 16.
Nhưng không phải cứ làm việc theo hướng đối tượng là phải biết về OOP, ở các bài đâu tiên này bạn cứ chấp nhận chuyện tạo mới một lớp. Bạn chỉ cần biết lớp là nơi mà chúng ta sẽ code vào đó, hệ thống sẽ tìm kiếm đến các lớp để mà biên dịch source code thành mã có thể thực thi được, mọi dòng code để bên ngoài lớp đều không hợp lệ và hệ thống sẽ báo lỗi ngay.
Trước khi tạo mới một lớp, bạn chắc rằng cửa sổ nhỏ bên trái InteliJ được mở, cửa sổ này có tên Project. Đó là nơi hiển thị tất cả các file và folder trong project HelloWorld của bạn theo kiểu cây thư mục, với project bạn vừa tạo xong, Project hiển thị như sau.

Để tạo lớp, nhấn chuột phải vào thư mục src bên trong cửa sổ Project và chọn New > Java Class.

Một hộp thoại nhỏ xuất hiện, bạn đặt tên cho class ở mục Name, như hình sau mình đặt tên cho class này là MyFirstClass. Bạn cũng đảm bảo vệt sáng ở dưới tên class đang tô sáng mục Class nhé (nhưng nếu bạn quên chú ý phần này cũng không sao, chúng ta hoàn toàn có thể chỉnh sửa code ở Editor sau này).

Sau khi enter ở bước trên đây, bạn sẽ thấy MyFirstClass.java xuất hiện ở khung Project bên trái, và nội dung của class này cũng được mở sẵn trong Editor như sau.

Một chút so sánh nếu như bạn đã từng làm việc với Eclipse.
Với InteliJ như bạn vừa thấy, code tạo ra không có tùy chọn tạo sẵn cho chúng ta phương thức main như với Eclipse. Không sao, cái đó chúng ta tự gõ vào sau.
Vậy phương thức là gì và phương thức main là gì? Mình nói sơ ở đây luôn nhé. Phương thức main là một phương thức mà hệ thống sẽ tìm đến đầu tiên nhất và bắt đầu thực thi các dòng code từ đây cho bạn. Nếu không có phương thức main thì hệ thống sẽ không biết ứng dụng của bạn bắt đầu từ đâu, và vì vậy không có dòng code nào được thực thi hết. Bạn sẽ biết rõ hơn về khái niệm phuơng thức cũng như được hiểu rõ về phương thức main và các phương thức khác ở các bài học sau này nữa.
Đến bước này thì bạn đã xong phần làm quen với InteliJ rồi. Chúng ta sẽ bắt đầu code từ mục tiếp theo sau đây.
Hello World!
Bây giờ là lúc bạn code dòng code Java đầu tiên. Với class MyFirstClass.java được mở như trên. Như đã nói, bạn cần khai báo một phương thức main để hệ thống biết mà thực thi các dòng code bên trong phương thức đó. Bạn hãy gõ từng chữ cho giống với đoạn code sau.
public class MyFirstClass { public static void main(String[] args) { System.out.println("Hello World!"); } }
Mình có một góp ý ngay chỗ này, khi bạn code các đoạn code đầu tiên. Có thể có bạn sẽ lười bằng cách thay vì code thì bạn lại copy/paste code từ trang web này vào. Có thể lắm, có đúng là bạn không? Nếu đúng thì bạn nên bỏ các dòng code vừa paste đó đi nhé. Hãy code từ chính đôi tay của bạn.
Ở các bài học sau cũng vậy, khi gặp các dòng code hay các yêu cầu buộc bạn phải code, thì bạn cũng đừng nên copy, mà hãy đọc trước yêu cầu, rồi thử code trước.
Nhưng nếu bạn không biết code ra sao nữa thì có thể nhìn các dòng code mẫu và code lại. Sau đó bạn thử thực thi chương trình xem kết quả có đúng hay không. Nếu là do bạn tự code, và kết quả thực thi của bạn không đúng với mình, thì hoặc là bạn sai, hoặc mình sai, và bạn có thể để lại bình luận bên dưới bài học để nhắc nhở mình. Còn nếu kết quả thực thi của bạn và mình quá chuẩn, nhưng code có khác nhau, cũng đâu có sao, lập trình là một tư duy mở, và mỗi chúng ta có một cách thức suy luận khác nhau, miễn sao cùng đi đến một kết quả chung là được. Bạn đã hiểu sơ về cách thức học lập trình rồi đúng không nào.
Có một lưu ý hay là trong quá trình code, sau khi bạn gõ vài từ trong Editor của InteliJ thì IDE này sẽ gợi ý các dòng code hoàn chỉnh cho chúng ta. Khi đó bạn có thể nhấn enter (máy Mac là return) để chọn nhanh phương thức gợi ý đầu tiên nếu thấy nó phù hợp, hoặc dùng phím mũi tên để chọn các dòng code khác rồi enter.

Nếu gõ lệnh mà bạn thấy có xuất hiện icon hình bóng đèn màu đỏ, hoặc dòng code bạn gõ biến thành màu đỏ, hoặc dòng code bị gạch chân màu đỏ, hoặc bạn cứ thấy có gì đó đỏ đỏ, thì đó là do IDE cảnh báo rằng bạn đang code lỗi chỗ nào đó, có thể là do bạn code chưa xong, hay chưa kết thúc câu lệnh bằng “;”,… Bạn cứ bình tĩnh xem xét lại từng câu chữ, chấp nhận các gợi ý hoàn thành dòng code luôn là một lựa chọn khôn ngoan. Nhưng nếu có lỗi nào xảy ra mà bạn không biết cách khắc phục thì hãy để lại bình luận bên dưới bài này nhé, mình sẽ giúp bạn.

Sau khi tự tin code xong rồi, bạn không cần phải save lại khi làm việc với InteliJ nhé, IDE này sẽ tự động sao lưu code ngay khi bạn gõ xong, thật sự rất tuyệt. Bạn chỉ cần qua bước tiếp theo để thực thi chương trình thôi.
Thực Thi Chương Trình
Sau khi code xong cho project, nếu không còn lỗi nào nữa, chúng ta hoàn toàn có thể thực thi, hay chạy chương trình để xem thành quả mà chúng ta xây dựng nên.
Với InteliJ bạn có nhiều cách để thực thi một chương trình, nhưng ở bài học hôm nay, nhanh nhất là bạn có thể tìm nhấn vào icon hình tam giác bên trong Editor nơi chứa MyFirstClass.java luôn nhé (như hình dưới). Sau đó chọn Run ‘MyFirstClass.main()’. Lưu ý là nếu bạn không nhìn thấy icon hình tam giác đâu cả thì có thể là bạn đã gõ sai câu lệnh nào đó khiến IDE không biết rằng đó là phương thức main để có thể thực thi được, khi này bạn cần phải kiểm tra kỹ code của bạn nhé.

Rất nhanh, bạn sẽ thấy cửa sổ Console xuất hiện với nội dung Hello World! mà bạn vừa code lúc nãy, nhờ vào câu lệnh System.out.println() đã giúp in log ra console. Nếu thấy cửa sổ và nội dung như dưới đây thì bạn đã thực thi thành công chương trình.

Kết Luận
Xin chúc mừng, bạn vừa code xong chương trình Java đầu tiên của mình. Bạn vẫn chưa biết rõ ý nghĩa của các câu lệnh, hay cấu trúc của Java là gì đâu, đừng lo lắng quá vì bạn sẽ sớm được hiểu rõ ở các bài kế tiếp thôi mà.
Cảm ơn bạn đã đọc các bài viết của Yellow Code Books. Bạn hãy ủng hộ blog bằng cách:
– Đánh giá 5 sao ở mỗi bài viết nếu thấy thích.
– Comment bên dưới mỗi bài viết nếu có thắc mắc.
– Để lại địa chỉ email của bạn ở thanh bên phải để nhận được thông báo sớm nhất khi có bài viết mới.
– Chia sẻ các bài viết của Yellow Code Books đến nhiều người khác.
– Ủng hộ blog theo hướng dẫn ở thanh bên phải để blog ngày càng phát triển hơn.
Bài Kế Tiếp
Bạn sẽ biết các khái niệm về biến và hằng, và học cách sử dụng các biến và hằng này trong Java.
A ơi, e làm theo các bước trên r mà có xuất hiện thêm các xấu x đỏ ở cuối bên trái trong hình icon và chỗ editor như hình trong bài, e rê chuột vô đó thì nó bảo là “must declare a named package…” xong e viết code k chạy đc lun. A giải đáp thắc mắc e nhé, tks a.
Mình cũng đoán được một phần lỗi của bạn, có thể bạn đã tạo package chứa các lớp này nhưng trong lớp đó không có định nghĩa package đó. Tốt nhất bạn có thể chat với mình qua Facebook để mình biết cụ thể hơn tình hình nhé
dạ e ib bên ad r đo ạ
project và class thì nó khác nhau chỗ nào ạ?
Project chính là ứng dụng của bạn. Để bắt đầu một ứng dụng, bạn phải tạo mới một project. Sau đó, trong project bạn sẽ tạo một hoặc nhiều class khác nhau, tùy vào nhu cầu của project đó, các class là nơi mà bạn viết code vào đó.
Bạn Đức Thịnh hãy cứ thực hành tạo project, tạo các class, thực thi ứng dụng, cứ từ từ từng bước, rồi bạn sẽ nhanh chóng hiểu rõ thôi.
trong chuong trình java tôi thấy có khi khai báo @overide, như vây khai báo này có ý nghĩa và công dung như thế náo. rất mong sự giúp đỡ của bạn
Xin chào bạn, về ý nghĩa của @override thì mình có nói ở bài 23, bài học về Overriding – Tính Phủ Quyết nha, bạn có thể xem ờ link này: https://yellowcodebooks.com/2017/07/27/java-bai-23-tinh-phu-quyet-overriding-trong-ke-thua/
Em bị lỗi Cloud not find or load main class
Chắc có lỗi đâu đó trong quá trình tạo project của bạn rồi, mà mình không chắc đó là lỗi nào, bạn chat với mình qua facebook ở link https://www.facebook.com/yellowcodebooks/ để dễ trao đổi hơn nhé.
cho hỏi bài khai triển taylor của sinx là x-x^3/3!-…-x^(2n+1)/(2n+1)! làm thế nào ạ?
Xin lỗi bạn Dương vì mình sẽ không trả lời các câu hỏi như thế này đâu nhé bạn. Mình chỉ hướng đến cách sử dụng ngôn ngữ lập trình. Ngoài các ví dụ mình dùng trong bài học ra, thì các câu hỏi liên quan đến giải thuật hay thuật toán cụ thể của yêu cầu nào đó mình sẽ không giải đáp. Điều này giúp tránh việc các bạn muốn mình giải đáp các bài tập ở lớp, sẽ tạo tiền lệ không tốt. Mong bạn thông cảm nhé.
cho mình hỏi ngu tí.mình lỡ bấm nut delete 1 số dòng code thì làm sao quay lại vậy, trong netbean thì nó có nút quay lại đoạn code cũ của mình, còn trong eclipse thì mình không thấy, mình cảm ơn
Bạn nhấn Ctr+Z (hoặc Cmd+Z trên máy Mac), như là soạn thảo với Microsoft Word thôi bạn.
Cám ơn bạn rtá nhiều. Những bài viết của bạn đang giúp tôi nhiều lắm. Tôi code Dốt Nét được 7 năm. Giờ đang bắt đầu học Java.
Anh ơi e cũng làm y như vậy thậm chí còn copy code của a như nó vẫn thông báo Error: Could not find or load main class MyFirstClass là sao ạ
Bạn giúp mình chụp lại các màn hình Eclipe đang báo lỗi, rồi chat với mình qua Messenger nha, mình sẽ dễ nắm tình hình hơn nếu có thêm ảnh.
admin oơi mình thắc mắc: sử dụng câu lệnh System.out.println(“hello”); thì lại không chạy được, nhưng khi mình thay “println” bằng “print” thì lại chạy được
Vậy thì lạ quá, bạn vẫn đang code trên Eclipse hay dùng trình biên dịch nào khác vậy.
của em hiện lỗi WorkbenchShutdownEvent với workbench auto save project thì làm thế nào ạ@@
lỗi này là sao ạ: java: reached end of file while parsing
Bạn thử kiểm tra các dấu mở/đóng ngoặc nhọn xem có thiếu cái nào không nhé. Có thể bạn mở ngoặc nhọn nhưng lại thiếu đóng ngoặc ở đâu đó.