Try   HackMD

Thực thi một chương trình java

Trong phần này, ta sẽ đi tìm hiểu về cách thực thi một chương trình java từ dòng lệnh (commandline).

Các lớp Java được thực thi khi nào

  • Lớp Java có thể thực thi khi nó chứa phương thức main, JVM sẽ tìm và thực thi các dòng code nằm trong đó. Ta có thể hiểu main như một điểm đánh dấu, giúp cho JVM tìm và thực thi code, nếu không có nó JVM sẽ không biết nên thực thi phương thức nào.
  • Một chương trình có thể có nhiều lớp thực thi (lớp chứa phương thức main), nhưng JVM chỉ tìm 1 phương thức để thực thi.

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Phương thức main

Đây là một phương thức bắt buộc nếu bạn muốn thực thi một class.

​public class HelloExam {
​    public static void main(String args[]) {
​        System.out.println("Hello exam");
​    }
}

Phương thức main phải tuân thủ một số quy tắc sau:

  • Nó phải là public method
  • Nó phải là static method
  • Nó phải được đặt tên là main
  • Kiểu trả về là void
  • Đối số truyền vào phải là một mảng String hoặc Varargs (Varargs cũng là một mảng, ví dụ: String args)

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Một số ví dụ về cách khai báo phương thức main:

public static void main(String... args)   // hợp lệ
public static void main(String args...)   // không hợp lệ

// tên đối số
public static void main(String[] arguments)  // hợp lệ
public static void main(String[] HelloWorld) // hợp lệ nhưng không rõ nghĩa


// khai báo mảng đối số
public static void main(String[] args)     // hợp lệ
public static void main(String minnieMouse[]) // hợp lệ

// các keyword có thể hoán đổi vị trí cho nhau
public static void main(String[] args) // cách này dễ đọc và được sử dụng nhiều
static public void main(String[] args) 

Mỗi một class chỉ chứa 1 phương thức main duy nhất để thực thi, nếu có nhiều hơn 1 phương thức main thì các phương thức đó gọi là overloaded method, bắt buộc các phương thức đó phải khác kiểu trả về, hoặc khác đối số truyền vào, nếu không sẽ gây ra lỗi.

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Thực thi chương trình Java từ commandline

Hầu hết hiện nay chúng ta đều sử dụng IDE (Integrated Development Environment), nó đã tích hợp hết để ta có thể dễ dàng chạy 1 chương trình java chỉ bằng 1 cú click chuột. Ta có đoạn code sau và sẽ thực thi chúng bằng commandline

public class HelloExam {
     public static void main(String args[]) {
         System.out.println("Hello exam");
     }
}

Để thực thi đoạn mã trên, ta sẽ gõ java HelloExamcommandline và sẽ nhận được kết quả như sau:

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Như đã tìm hiểu ở trên, ta có thể truyền các đối số dòng lệnh vào cho phương thức main thông qua commandline, ví dụ:

public class HelloExamWithParameters {
     public static void main(String args[]) {
         System.out.println(args[0]);
         System.out.println(args[1]);
     }
}

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Kết luận

Bài viết này đã giúp ta hiểu rõ hơn về thực thi một chương trình java, và cách thực thi chúng thông qua commandline

Tài liệu tham khảo

OCA Java SE 8 Programmer I Certification Guide - Mala Gupta