Articles by "HocJava"
Hiển thị các bài đăng có nhãn HocJava. Hiển thị tất cả bài đăng
no image
Java là ngôn ngữ lập trình máy tính có tính chất hướng đối tượng, dựa trên các lớp, thường được sử dụng cho các hệ thống có tính độc lập cao. Nó được sử dụng để hướng tới các lập trình viên viết ứng dụng "write one, run everywhere" (viết một lần, chạy mọi nơi, nghĩa là đoạn code Java sau khi được biên dịch có thể chạy được trên tất cả các nền tảng hỗ trợ Java mà không cần phải được biên dịch lại. Các ứng dụng Java sau khi đã được biên dịch thành bytecode có thể chạy trên bất kỳ máy ảo Java nào (Java virtual machine)


Giới thiệu khóa học

Regular Expression trong Java, cách validate email và cách trường đặc biệt.

Vòng lặp for trong Java, với các bài toán in hình đặc biệt

Constructor 2- Thực hành quản lý tài khoản ngân hàng.

Package, cách tạo file Jar, import file Jar trong Java.

Xử lý BLOB data (cách ghi dữ liệu file vào Database) trong JDBC

Collection Set trong Java, ý nghĩa hàm hashCode và equals trong Java

Collection trong Java- Thực hành bài tập quản lý việc đặt ghế trong rạp phim.

Dưới đây là danh sách các bài hướng dẫn học Java cơ bản và nâng cao miễn phí trên website:

MỤC LỤC

Java cơ bản
Giới thiệu Java
Java là gì?
Lịch sử Java
Tổng quan
Cài đặt Java
Cách thiết lập Path
Chương trình Hello World
Phân tích chương trình Hello World
Cú pháp Java cơ bản
JDK, JRE và JVM
Biến trong Java
Kiểu dữ liệu
Toán tử
Các kiểu vòng lặp
Lệnh if, switch
Đối tượng Number
Đối tượng Character
Khái niệm Hướng đối tượng
Khái niệm OOP
Lớp và Đối tượng
Phương thức
Nạp chồng phương thức (Overloading)
Constructor
Từ khóa static
Từ khóa this
Tính kế thừa (IS-A)
Quan hệ (HAS-A)
Ghi đè phương thức (Overriding)
Kiểu trả về Covariant
Từ khóa super
Instance Initializer Block
Từ khóa final
Tính đa hình
Dynamic Binding
Toán tử instanceof
Tính trừu tượng
Lớp abstract
Interface
Lớp abstract vs Interface
Java Package
Các kiểu Modifier
Non-Access Modifier
Access Modifier
Tính bao đóng
Lớp Object
Nhân bản đối tượng
Mảng (Array)
Lớp Wrapper
Gọi bởi giá trị
Từ khóa strictfp
Date & Time
Regular Expression
File và I/O trong Java
File và I/O
ByteArrayInputStream
DataInputStream
ByteArrayOutputStream
DataOutputStream
Lớp File
Lớp FileReader
Lớp FileWriter
String trong Java
Đối tượng String
Immutable String
So sánh chuỗi
Nối chuỗi
Chuỗi con
Phương thức của lớp String
Lớp StringBuffer
Lớp StringBuilder
String vs StringBuffer
StringBuilder vs StringBuffer
Tạo Immutable String
Phương thức toString()
Lớp StringTokenizer
Xử lý ngoại lệ (Exception Handling)
Exception là gì
Khối try-catch
Khối finally
Từ khóa throw
Từ khóa throws
ExceptionHandling vs MethodOverriding
Custom Exception
Cấu trúc dữ liệu trong Java
Cấu trúc dữ liệu
Enumeration Interface
Lớp BitSet
Lớp Vector
Lớp Stack
Lớp Dictionary
Lớp Hashtable
Lớp Properties
Collection trong Java
Java Collection
Collection Interface
List Interface
Set Interface
SortedSet Interface
Map Interface
MapEntry Interface
SortedMap Interface
Lớp LinkedList
Lớp ArrayList
Lớp HashSet
Lớp LinkedHashSet
Lớp TreeSet
Lớp HashMap
Lớp TreeMap
Thuật toán Collection
Sử dụng Iterator
Sử dụng Comparator
Java nâng cao
Java Generic
Java Serialization
Lập trình mạng
Gửi Email
Java Multithread
Cơ bản về Applet
Tạo Javadoc
Inner Class trong Java
Inner Class là gì ?
Member Inner Class
Anonymous Inner Class
Local Inner Class
Static Nested Class
Nested Interface
Chuyển đổi dữ liệu trong Java
Chuyển đổi String thành Int
Chuyển đổi Int thành String
Chuyển đổi String thành Long
Chuyển đổi Long thành String
Chuyển đổi String thành Float
Chuyển đổi String thành Double
Chuyển đổi String thành Date
Loạt bài hướng dẫn của chúng tôi dựa trên nguồn tài liệu của: Tutorialspoint.

Để hiểu sâu hơn các khái niệm được trình bày trong loạt bài này, mời bạn tham khảo loạt bài: Ví dụ Java. Tại đây chúng tôi cung cấp hơn 250 ví dụ được sử dụng phổ biến trong khi thực hành về Java. Bạn tham khảo loạt bài Ví dụ về Java này để thấy dễ dàng hơn khi học về Java.
no image

Java là gì?

Java là một Ngôn ngữ lập trình và là một Platform.
Ngôn ngữ lập trình: Java là một ngôn ngữ lập trình có tính bảo mật cao, hướng đối tượng, bậc cao và mạnh mẽ.
Platform: Bất cứ môi trường phần cứng hoặc phần mền nào mà trong đó một chương trình chạy, thì được biết đến như là một Platform. Với môi trường runtime riêng cho mình là JRE và API, Java được gọi là Platform.

Ví dụ về Java

Bạn theo dõi ví dụ đơn giản sau để in Hello World, phần giải thích chi tiết sẽ được trình bày trong chương tiếp theo.
class Simple{  
public static void main(String args[]){
System.out.println("Hello World");
}
}

Nơi Java được sử dụng?

Có rất nhiều thiết bị hiện tại đang sử dụng Java. Bao gồm:
  • Desktop App như media player, antivirus, reader, …
  • Web App như irctc.co.in, javatpoint.com, …
  • Enterprise App như các ứng dụng về xử lý nghiệp vụ ngân hàng, …
  • Trên các thiết bị Mobile.

Các loại Java App

Có 4 loại ứng dụng chính mà có thể được tạo bởi sử dụng ngôn ngữ lập trình Java:

Standalone App

Nó còn được biết đến với tên gọi khác là Destop App hoặc Windows-based App. Một ứng dụng mà chúng ta cần cài đặt trên mỗi thiết bị như media player, antivirus, … AWT và Swing được sử dụng trong Java để tạo các Standalone App.

Web App

Một ứng dụng mà chạy trên Server Side và tạo Dynamic Page, được gọi là Web App. Hiện tại, các công nghệ Servlet, JSP, Struts, JSF, … được sử dụng để tạo Web App trong Java.

Enterprise App

Một ứng dụng dạng như Banking App, có lợi thế là tính bảo mật cao, cân bằng tải (load balancing) và clustering. Trong java, EJB được sử dụng để tạo các Enterprise App.

Mobile App

Đây là loại ứng dụng được tạo cho thiết bị mobile. Hiện tại thì Android và Java ME được sử dụng để tạo loại ứng dụng này.
no image
Java có rất nhiều đặc điểm và tính năng nổi bật. Dưới đây là một số đặc điểm của Java mà bạn có thể dễ dàng biết và tìm hiểu:
  • Đơn giản
  • Hướng đối tượng
  • Độc lập nền tảng
  • Bảo mật
  • Robust
  • Độc lập cấu trúc
  • Portable
  • Dynamic
  • Thông dịch
  • Hiệu suất cao
  • Đa luồng (Multi-thread)
  • Distributed

Đơn giản

Bạn có thể hiểu rằng, đặc điểm đơn giản của Java là do:
Thứ nhất, cú pháp của nó dựa trên C++ (vì thế nó khá dễ dàng cho các sinh viên sau khi đã học C++ tại năm đầu đại học).
Thứ hai, gõ bỏ nhiều đặc điểm gây bối rối và hiếm khi được sử dụng chẳng hạn như các con trỏ tường minh, nạp chồng toán tử, …
Và cuối cùng, bạn không cần xóa các đối tượng mà không được tham chiếu, bởi vì hãy để những thứ đó cho Bộ dọn rác tự động (Garbage Collection) trong Java.

Hướng đối tượng

Hướng đối tượng nghĩa là chúng ta tổ chức phần mềm dưới dạng một sự kết hợp của nhiều loại đối tượng khác nhau mà kết hợp chặt chẽ cả về dữ liệu lẫn hành vi của chúng.
Lập trình hướng đối tượng (OOP) là một phương pháp làm đơn giản hóa việc phát triển và duy trì phần mềm bằng việc cung cấp một số qui tắc.
Một số khái niệm cơ bản của hướng đối tượng (OOP) là:
  • Đối tượng (Object)
  • Lớp (Class)
  • Tính kế thừa
  • Tính đa hình
  • Tính trừu tượng
  • Tính bao đóng

Độc lập nền tảng

Một Platform là môi trường phần cứng hoặc phần mềm trong đó một chương trình chạy. Có hai loại Platform: một loại dựa trên phần mềm (software-based) và một loại dựa trên phần cứng (hardware-based). Java cung cấp software-based platform. Java Platform khác với nhiều nền tảng khác ở chỗ nó chạy ở trên các nền tảng hardware-based khác. Nó có hai thành phần:
  • Runtime Environment
  • API (Application Programming Interface)
Java code có thể chạy trên nhiều nền tảng như Windows, Linux, Sun Solaris, Mac/OS, … Java code được biên dịch bởi Bộ biên dịch Compiler và được chuyển đổi thành Bytecode. Bytecode này là một code độc lập nền tảng bởi vì nó có thể chạy trên nhiều nền tảng khác nhau. Với lý do này, đến đây bạn có thể hiểu được tại sao khi nói về Java, người ta thường nói đến khẩu hiệu: Viết một lần, Chạy khắp nơi (Write Once and Run Anywhere).

Bảo mật

Java là an toàn bởi vì:
  • Không có con trỏ tường minh.
  • Chương trình chạy bên trong các hộp thiết bị ảo.
  • Classloader: Thêm sự bảo vệ bằng việc phân biệt riêng rẽ các package cho các lớp của hệ thống local file mà từ đó chúng được import với các file từ nguồn mạng.
  • Bytecode Vertifier: Kiểm tra các đoạn code để tìm ra các phần code không hợp lệ mà có thể truy cập trái phép tới các đối tượng.
  • Security Manager: Quyết định xem nguồn resource nào mà một lớp có thể truy cập chẳng hạn như đọc và ghi tới local disk.
Những tính năng bảo mật này được cung cấp bởi Ngôn ngữ Java. Ngoài ra, lập trình viên còn có thể cung cấp một số tính năng bảo mật khác thông qua SSL, JAAS, …

Robust

Bạn có thể hiểu đơn giản Robust nghĩa là mạnh mẽ. Java sử dụng hệ quản trị bộ nhớ mạnh mẽ. Đó là, Java sử dụng ít con trỏ hơn để tránh các vấn đề liên quan tới bảo mật. Bên cạnh đó còn có Trình dọn rác tự động (Garbage Collection) trong Java. Đó là Xử lý ngoại lệ (Exception Handling) và kiểm tra kiểu. Tất cả những thứ này là cho Java là Robust.

Độc lập cấu trúc

Đó là không có đặc điểm nào mà phụ thuộc vào trình triển khai, ví dụ như kích cỡ của kiểu dữ liệu gốc đã được thiết lập.

Portable

Chúng ta có thể mang Java Bytecode tới bất cứ nền tảng nào.

Hiệu suất cao

Với việc sử dụng Just-In-Time compilers, Java giúp nâng cao hiệu năng, giúp việc debug được dễ dàng cũng như nhanh chóng phát hiện lỗi.

Phân tán (Distributed)

Chúng ta có thể tạo các ứng dụng phân tán trong Java. RMI và EJB được sử dụng để tạo các ứng dụng này. Chúng ta có thể truy cập các file bằng việc gọi các phương thức từ bất cứ thiết bị nào trên internet.

Đa luồng (Multi-thread)

Một Thread là giống như một chương trình riêng rẽ, thực thi một cách đồng thời. Chúng ta có thể viết các chương trình Java mà xử lý nhiều tác vụ cùng một lúc bằng việc định nghĩa nhiều Thread. Lợi thế chính của Multi-thread là nó chia sẻ cùng bộ nhớ. Các Thread là quan trọng cho Multi-media, Web App, …
no image
Khi bạn học một Ngôn ngữ lập trình nào đó thì việc tìm hiểu lịch sử của ngôn ngữ đó cũng là một điều khá thú vị. Java bắt đầu từ Green Team. Họ đề xướng một cuộc cách mạng để phát triển một ngôn ngữ cho các thiết bị digital như set-top box, television, ….
Hiện tại, Java được sử dụng trông lập trình mạng, các thiết bị mobile, game, các giải pháp về e-business, … Dưới đây là một số điểm chính miêu tả sơ lược về Lịch sử Java.
1. James Gosling, Mike Sheridan và Patrick Naughton khởi xướng dự án về ngôn ngữ Java trong tháng 6/1991. Họ được gọi là Green Team.
2. Thiết kế đầu tiên là cho các hệ thống nhỏ, có thể nhúng vào trong các thiết bị điện tử như set-top box.
3. Ban đầu, nó được gọi là Greentalk bởi James Gosling và với đuôi là .gt.
4. Sau đó, nó được gọi là Oak và được phát triển như là một phần của Green Project.

Tại sao lại có tên là Oak?

5. Oak là loại cây sồi khỏe mạnh, sống nhiều ở các quốc gia như Mỹ, Pháp, Đức, … Bên ngoài khu làm việc của Green Team là các cây sồi tươi tốt quanh năm.
6. Năm 1995, Oak được đổi tên thành Java.

Tại sao lại đổi tên thành Java?

7. Team muốn thu thập để chọn lựa ra một tên mới. Các từ bao gồm dynamic, revolutionary, Silk, jolt, DNA, … Họ muốn cái gì đó mà phản ánh đúng bản chất của công nghệ, đó là: một cuộc cách mạng, có tính động cao, duy nhất, đánh vần dễ dàng, …
Theo James Gosling thì Java là một trong các lựa chọn hàng đầu cùng với Silk. Tuy nhiên, vì Java có tính duy nhất hơn, nên hầu như tất cả thành viên team đều lựa chọn Java.
8. Java là một hòn đảo ở Indonesia, ở nơi này sản phẩm coffee đầu tiên được sản xuất (gọi là java coffee).
9. Bạn nên nhớ rằng Java chỉ là một tên chứ không phải là tên lược danh.
10. Java được phát triển đầu tiên bởi Jamas Gosling tại Sun Microsystems (bât giờ là công ty con của Oracle Coporation) và được công bố năm 1995.
11. Năm 1995, tạp chí Time bình chọn Java là một trong 10 sản phẩm tốt nhất năm 1995.
12. JDK 1.0 được công bố vào 23/1/1996.

Lịch sử các phiên bản Java

Trải qua quá trình cải tiến và phát triển, đã có nhiều phiên bản Java được công bố. Phiên bản Java hiện tại là Java SE 8.
  • JDK Alpha và Beta (1995)
  • JDK 1.0 (23/1/1996)
  • JDK 1.1 (19/2/1997)
  • J2SE 1.2 (8/12/1998)
  • J2SE 1.3 (8/5/2000)
  • J2SE 1.4 (6/5/2002)
  • J2SE 5.0 (30/9/2004)
  • Java SE 6 (11/12/2006)
  • Java SE 7 (28/7/2011)
  • Java SE 8 (18/3/2014)

CÁCH THIẾT LẬP PATH TRONG JAVA

Thiết lập path trong Java là rất cần thiết nếu bạn cần sử dụng các tool liên quan đến javac hoặc java (dùng terminal chẳng hạn)
Vào MyComputer properties -> advanced tab -> environment variables -> tạo tab mới user variable -> viết giá trị path trong tên biến -> dẫn đến thư mục bin của cài đăt java -> ok -> ok -> ok
Xây dựng ClassPath của ngôn ngữ Java
Dưới đây là các kiểm tra classpath của ngôn ngữ Java. Bạn nhớ phải khởi động lại máy sau khi thiết lập classpath nhé.
Kiểm tra ClassPath của ngôn ngữ Java

THIẾT LẬP CLASSPATH TRONG HỆ ĐIỀU HÀNH LINUX

Bạn có thể thiết lập classpath bằng cách sau đây:
export PATH=$PATH:/home/jdk1.6.01/bin/
Bạn có thể tham khảo thêm các thiết lập classpath tại địa chỉhttps://java.com/en/download/help/path.xml

no image

Cài đặt môi trường nội bộ

Nếu bạn muốn cài đặt môi trường cho việc sử dụng ngôn ngữ Java, phần sau đây sẽ giúp bạn cách tải và cài đặt Java trên máy tính cá nhân của bạn. Theo những bước sau đây để cài đặt môi trường Java.
Java SE có thể download miễn phí tại link sau Download Java. Java SE có thể download miễn phí tại link sau. Bạn nên download phiên bản Java phù hợp với hệ điều hành máy mà bạn đang sử dụng.
Những lệnh sau đây giúp download và run .exe file để cài đặt Java trên máy tính của bạn. Khi bạn đã cài đặt Java trên máy tính, bạn cần phải cài đặt các biến môi trường đến đúng thư mục cài đặt:

Cài đặt đường dẫn cho Window 2000/XP

Giả sử bạn đã cài đặt Java trong thư mục c:\Program Files\java\jdk:
  • Nhấp chuột phải vào 'My Computer' và chọn 'Properties'.
  • Click vào nút 'Environment variables' ở dưới 'Advanced' tab.
  • Bây giờ, thông báo biến 'Path' để mà nó cũng chứa path để có thể thực thi Java. Ví dụ, nếu path hiện tại được thiết lập là 'C:\WINDOWS\SYSTEM32', thì bạn thay đổi path để đọc 'C:\WINDOWS\SYSTEM32;c:\Program Files\java\jdk\bin'.

Cài đặt đường dẫn cho Windows 95/98/ME:

Giả sử bạn đã cài đặt Java trong thư mục c:\Program Files\java\jdk:
  • Chỉnh sửa 'C:\autoexec.bat' file và thêm dòng sau vào cuối cùng: 
    'SET PATH=%PATH%;C:\Program Files\java\jdk\bin'

Cài đặt đường dẫn cho Linux, UNIX, Solaris, FreeBSD:

Biến môi trường PATH nên được thiết lập để trỏ tới các tệp Java nhị phân đã được cài đặt. Bạn nên tham khảo văn kiện về shell nếu bạn gặp trục trặc trong bước này.
Ví dụ, nếu bạn sử dụng bash như là shell của bạn, thì bạn nên thêm dòng sau vào cuối '.bashrc: export PATH=/path/to/java:$PATH'

Các Java Editor phổ biến:

Để viết các chương trình Java, bạn sẽ cần một Text Editor. Có nhiều rất nhiều loại, và bạn nên sử dụng một trong các loại sau:
  • Notepad: Trên thiết bị Windown bạn có thể sử dụng trình soạn thảo text đơn giản như notepad.
  • Netbeans: Là một chương trình IDE mã nguồn mở mà miễn phí, bạn có thể thể download tại link sau: http://www.netbeans.org/index.html.
  • Eclipse: Là một trình IDE được phát triển bởi cộng đồng mã nguồn mở eclipse, có thể được download tại địa chỉ http://www.eclipse.org/.
Để làm quen với Môi trường và Kết nối cơ sở dữ liệu (JDBC) trong Java, mời bạn tham khảo loạt bài: Ví dụ về Cài đặt Java và loạt bài: Ví dụ về Java JDBC.

Chương sau đề cập vấn đề gì trong Java?

Chương tới sẽ hướng dẫn bạn viết và chạy chương trình Java đầu tiên cũng như các cú pháp hữu ích giúp bạn phát triển các ứng dụng.
Trong chương trước, chúng ta đã học cách viết, biên dịch và chạy chương trình Hello World trong Java. Ở đây, chúng ta tiếp tục tìm hiểu những gì xảy ra trong khi biên dịch và chạy một chương trình Java. Ngoài ra, bạn sẽ thấy một số câu hỏi liên quan đến chương trình Java đầu tiên này.

Những gì xảy ra tại Compile time?

Tại compile time (thời gian biên dịch), java file được biên dịch bởi Java Compiler (Nó không tương tác với OS) và chuyển đổi Java code thành Bytecode.
Biên dịch Java code

Điều gì xảy ra tại runtime?

Tại Runtime (thời gian biên dịch), các bước sau được thực hiện:
Java Runtime
  • Classloader: Đây là hệ thống con của JVM được sử dụng để tải class file.
  • Bytecode Vertifier: Kiểm tra các đoạn code để xem có hay không các phần code không hợp lệ có truy cập không hợp lệ tới các đối tượng.
  • Interpreter: Đọc Bytecode Stream, sau đó thực thi các chỉ thị.

Câu hỏi: Bạn có thể lưu một source file bởi một tên khác ngoài tên lớp không?

Có, nếu lớp không phải là public. Bạn có thể theo dõi ở sơ đồ dưới:
Học Java cơ bản
  • Để biên dịch, gõ: javac Hard.java
  • Để thực thi, gõ: java Simple

Bạn có thể có nhiều lớp trong một source file không?

Có, sơ đồ sau minh họa điều này:
Lưu trữ Java file

no image
Chương này, chúng ta sẽ học cách viết một chương trình Java đơn giản. Trước khi viết chương trình Hello World, bạn nên cài đặt trước JDK.
Để tạo một chương trình Java đơn giản, bạn cần tạo một lớp chứa phương thức main. Để thực thi bất cứ chương trình Java nào, bạn cần:
Platform: Bất cứ môi trường phần cứng hoặc phần mền nào mà trong đó một chương trình chạy, thì được biết đến như là một Platform. Với môi trường runtime riêng cho mình là JRE và API, Java được gọi là Platform.
  • Cài đặt JDK nếu bạn chưa cài đặt nó. Bạn tải JDK, và cài đặt.
  • Thiết lập path của thư mục jdk/bin. (Bạn có thể tham khảo chương Cách thiết lập Path trong Java)
  • Tạo chương trình Java.
  • Biên dịch và chạy chương trình Java.

Tạo ví dụ Hello World

Bạn theo dõi ví dụ để viết chương trình Hello World:
class Simple{  
public static void main(String args[]){
System.out.println("Hello World");
}
}
Sau đó, bạn lưu file dưới tên Simple.java.
  • Để biên dịch, bạn gõ: javac Simple.java
  • Để thực thi, bạn gõ: java Simple

Phân tích chi tiết chương trình Java đầu tiên

Dưới đây, chúng tôi sẽ giúp bạn hiểu ý nghĩa của class, public, static, void, main, String[], System.out.println().
  • Từ khóa class được sử dụng để khai báo một lớp trong Java.
  • Từ khóa public là một Access Modifier mà biểu diễn tính nhìn thấy, nghĩa rằng nó là nhìn nhất với tất cả.
  • static là một từ khóa, mà nếu chúng ta khai báo bất cứ phương thức nào là static thì nó còn được gọi là phương thức tĩnh hoặc phương thức static. Lợi thế chủ yếu của phương thức static là không cần thiết tạo đối tượng để triệu hồi phương thức static. Phương thức main được thực thi bởi JVM, vì thế bạn không cần thiết tạo một đối tượng để gọi phương thức main. Việc này giúp tiết kiệm bộ nhớ.
  • void là kiểu trả về của phương thức, nghĩa là phương thức không trả về bất cứ giá trị nào.
  • main tượng trưng cho khởi động chương trình.
  • String[] args được sử dụng cho tham số dòng lệnh. Bạn sẽ tìm hiểu về chúng sau.
  • System.out.println() được sử dụng như là lệnh in. Chương sau, bạn sẽ thấy cách làm việc nội tại của lệnh System.out.println này.
Để viết một chương trình đơn giản, bạn mở notepad bởi Start menu -> All Programs -> Accessories -> notepad và viết chương trình đơn giản Hello World trên.
Viết và lưu chương trình dưới dạng Simple.java. Để biên dịch và chạy chương trình này, bạn cần mở dòng nhắc lệnh command prompt bởi Start menu -> All Programs -> Accessories-> command prompt.
Để biên dịch và chạy chương trình, đầu tiên bạn vào thư mục hiện tại, với mình đó là c:\new. Viết ở đây:
  • Để biên dịch, gõ: javac Simple.java
  • Để thực thi, gõ: java Simple

Bạn có bao nhiêu cách để viết một chương trình Java

Có nhiều cách để viết một chương trình Java. Các sửa đổi có thể được thực hiện trong chương trình Java như sau:
Thứ nhất bằng việc thay đổi dãy sắp xếp của Modifier, thì nguyên mẫu phương thức không bị thay đổi. Bạn theo dõi phần code đơn giản của phương thức main:
static public void main(String args[])  
Thứ hai, ký hiệu chỉ số dưới [] trong Mảng Java có thể được sử dụng sau kiểu, ở trước biến hoặc đằng sau biến. Bạn theo dõi các code khác nhau để viết phương thức main:
public static void main(String[] args)  
public static void main(String []args)
public static void main(String args[])
Thứ ba, bạn có thể cung cấp sự hỗ trợ var-args tới phương thức main bằng cách truyền 3 dấu chấm. Bạn theo dõi code đơn giản sau sử dụng var-args trong phương thức main. Chúng ta sẽ học về var-args trong chương Các đặc điểm mới trong Java.
public static void main(String... args)     
Thứ tư, việc có hay không dấu chấm phảy ở phần cuối của lớp trong Java là tùy ý. Bạn theo dõi code sau:
class A{  
static public void main(String... args){
System.out.println("Hello World");
}
};
Một số phương thức main hợp lệ trong Java:
public static void main(String[] args)  
public static void main(String []args)
public static void main(String args[])
public static void main(String... args)
static public void main(String[] args)
public static final void main(String[] args)
final public static void main(String[] args)
final strictfp public static void main(String[] args)
Một số phương thức main không hợp lệ trong Java:
public void main(String[] args)  
static void main(String[] args)
public void static main(String[] args)
abstract public static void main(String[] args)

Giải quyết lỗi "javac is not recognized as an internal or external command"

Nếu xuất hiện một vấn đề như được hiển thị trong hình dưới, thì điều bạn cần làm là thiết lập path. Vì DOS không biết javac hoặc java, do đó chúng ta cần thiết phải thiết lập path. Path là không cần thiết trong những trường hợp mà nếu bạn lưu chương trình bên trong thư mục jdk/bin. Nhưng đôi khi, đây là điều bạn cần biết để có thể xử lý các trường hợp có thể xảy ra. Bạn theo dõi phần này tại Cách thiết lập path trong Java.