Trang chủ > OOP - JAVA > Nạp Java, chương trình đầu tiên

Nạp Java, chương trình đầu tiên

Trước tiên cần kéo phiên bản JDK mới nhất từ trang web: java.sun.com (Java SE). Cần kéo về riêng tài liệu: Java SE Documentation.

Chương trình nạp JDK chạy rất đơn giản. Sau khi nạp JDK xong, cần mở tệp nén tài liệu ra, sau đó chép vào thư mục chính của JDK.

Chúng ta có thể chuẩn bị chương trình bằng cách sử dụng môi trường phát triển tích hợp (IDE)- như Eclipse, NetBeans, IntelliJ hay JCreator – các môi trường này có nhiều chức năng: soạn thảo chương trình, dịch, chạy chương trình, hướng dẫn người sử dụng trong khi soạn thảo chương trình, và tìm lỗi.

Có thể viết mã nguồn trong chương trình chỉnh soạn thảo văn bản text nào đó và sau đó dịch và chạy chương trình từ dòng lênh (command line).

Nếu không sử dụng IDE:

  • nhớ để thư mục có chứa trình biên dịch Java (javac.exe) và trình thông dịch – máy ảo Java (java.exe) trên đường dẫn chính(PATH),
  • mã nguồn Java chuẩn bị trong trình soạn văn bản cần được lưu trong định dạng thuần văn bản một tệp với đuôi mở rộng “.java” (ví dụ như “Test.java”),
  • để biên dịch file nguồn thì sử dụng lệnh javac (ví dụ như javac Test.java),
  • kết quả của việc biên dịch thành công xuất hiện một hoặc nhiều tệp lớp (có đuôi mở rộng là “class” như Test.class),
  • để thực hiện chương trình chúng ta phải chạy chương trình java đưa ra một tên lớp (không cần có đuôi mở rộng) với tư cách là đối số (như java Test).


Những điểm cần lưu ý:
1.    Mã nguồn có thể được phân bố trên một số các tệp có đuôi mở rộng là “.java”. Mỗi tệp gồm một định nghĩa đầy đủ của một hay nhiều lớp.
2.    Tên của mỗi tệp phải giống hệt (như trong trường hợp viết thư) tên của lớp dùng chung (được chuẩn hóa bằng từ khóa public) chứa trong tệp (chúng ta sẽ tìm hiểu nghĩa của từ này sau). Một tệp nguồn có thể chứa nhiều nhất một lớp pulic.
3.    Để chạy một máy ảo (với câu lệnh java) chúng ta đưa vào với tư cách đối số tên của lớp chứa phương pháp main.

Sau đây là chương trình đầu tiên của chúng ta:

public class Test {

   public static void main( String[] args ) {
      System.out.println( "Hello World!");
   } 

}

Giải thích:

1.    Từ khóa của ngôn ngữ được đánh dấu màu xanh da trời.
2.    Hiện tại chúng ta không cần phải quan tâm đến những từ lạ như: public, static, void. Chúng ta sẽ tìm hiểu về chúng trong bài tới.
3.    Chương trình Java là một trường các định nghĩa lớp. Ở đây chúng ta mới có một lớp tên là Test. Từ khóa class được sử dụng để xác định các lớp. Một định nghĩa lớp                theo sau tên đó và kết thúc bằng dấu ngoặc cong (đánh dấu màu đỏ ở đây)
4.    Lớp Test bao gồm phương pháp tên là main.
5.    Cấu trúc của một phương pháp được đặt trong dấu ngoặc cong (ở đây đánh dấu màu xanh lá cây).
6.    Một chương trình được thực hiện bắt đầu bằng phương pháp main (tuyên bố đúng theo cách này: public static void main(String[] args); từ args có thể được thay thế
bằng từ khác vì nó là tên của một biến thể).
7.    Như chúng ta có thể thấy phương pháp main có một tham số tên là args. Nó chỉ ra một mảng các chuỗi (các đối tượng của loại String) mà giữ các đối số đưa vào trong            chương trình trên startup (từ dòng lệnh hay một cách nào đó khác). Chúng ta không sử dụng các chuỗi đó trong chương trình này.
8.    Bên trong phương pháp main gọi phương pháp println. Phương pháp này sẽ in đối số ra bảng nhắc câu lệnh. Việc gọi một phương pháp là một biểu thức. Kết thúc                bằng một dấu chấm phẩy biểu thức sẽ trở thành một câu lệnh được thực hiện bởi chương trình.
9.    Trước mắt chúng ta không cần băn khoăn tại sao và vì cái gì chúng ta phải viết System.out.println. Chúng ta sẽ tìm hiểu ở phần sau.
10.   Đối số đưa vào gọi phương pháp println là một dãy chuỗi.
11.   Chương trình phải được biên soạn: javac Test.java.
12.   Việc biên soạn thành công sẽ tạo ra tệp Test.class.
13.   Sau khi chạy chương trình (bằng cách ghõ “java Test” trên dòng lệnh) chúng ta thấy dòng nhắn “Hello World”.

Các ký tự khoảng trắng (dấu cách, tab, dòng mới) giữa các cấu trúc ngôn ngữ (tên biến thể hay phương pháp, từ khóa, dãy…) được lược bỏ trong quá trình biên dịch.
Các ghi chú cũng được lược bỏ.
Có ba loại ghi chú trong Java:
•    dòng chữ theo sau cặp ký tự // cho đến hết dòng là một ghi chú một dòng đơn.
•    dòng chữ đặt giữa cặp ký tự /* và */ là ghi chú đa dòng (nó có thể nằm trên một số các dòng).
•    dòng chữ đặt giữa các chuỗi ký tự /** và */ là một ghi chú javadoc. Nó được xử lý bởi một chương trình tạo ra các tư liệu (loại ghi chú này là ghi chú đa dòng).

Ví dụ:

/**
 The class TestCom demonstrates
 the use of comments
 (this is a javadoc comment)
*/

public class TestComm {

  /*
     This is a 
     multiline 
     comment
  */

  /* it is a 
     comment too */

  // this is a single-line comment

  public static void main( String[] args ) {
    // another comment
    System.out.println( "Comments" );   // and one more
  }

}


Khi biên dịch một chương trình, trình biên dịch kiểm tra tính đúng đắn về mặt cú pháp. Nếu có bất cứ một lỗi nào, quá trình biên dịch dừng lại, không có tệp lớp đầu ra và trình biên dịch in ra thông điệp báo gặp lỗi.
Ví dụ nêu chúng ta quên không dùng dấu ngoặc móc kết thúc trong khi gọi phương pháp println trong chương trình thử nghiệm:

System.out.println( "Hello World!";

trình biên dịch sẽ tạo ra dòng nhắn sau:

Test.java:4: ‘)’ expected
System.out.println( “Hello World!”;
^
1 error


Một chương trình biên dịch không có lỗi thì đúng về mặt cú pháp nhưng việc chạy chương trình có thể không thành công nếu có lỗi runtime.
Chương trình sau có thể được biên dịch một cách dễ dàng:

public class TestRTE {

  static String aString;
  
  public static void main( String[] args ) {

    System.out.println( aString.length());
  }
}


Nhưng khi chạy sẽ gây ra lỗi sau:

Exception in thread “main” java.lang.NullPointerException
at TestRTE.main(TestRTE.java:7)

Ở đây chúng ta cố gắng có được độ dài của một chuỗi không tồn tại (gọi lệnh length()).
Lỗi đó gọi là exceptions (ngoại lệ). JVM báo cho chúng ta biết loại ngoại lệ và về lớp và phương pháp gây ra. Nó cũng sẽ in số dòng trong tệp nguồn nơi mà lỗi xảy ra.

Viet Matrix Revoluitons

  1. Chưa có phản hồi.
  1. No trackbacks yet.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: