Chương trình ứng dụng Java kiểu Application
Java là một ngôn ngữ thuần đối tượng (pure object). Tất cả các thành phần được khai báo như hằng, biến, hàm thủ tục đều phải nằm trong phạm vi của một lớp nào đó. Một ứng dụng trong Java là một tập hợp các lớp liên quan nhau, bao gồm các lớp ...
Java là một ngôn ngữ thuần đối tượng (pure object). Tất cả các thành phần được khai báo như hằng, biến, hàm thủ tục đều phải nằm trong phạm vi của một lớp nào đó. Một ứng dụng trong Java là một tập hợp các lớp liên quan nhau, bao gồm các lớp trong thư viện do Java cung cấp và các lớp được định nghĩa bởi người lập trình. Trong một ứng dụng chỉ có một Lớp thực thi được. Đây là lớp đầu tiên được xem xét đến khi chúng ta thực thi ứng dụng.
Lớp thực thi được này có các đặc điểm sau:
- Có tên lớp trùng với tên tập tin chứa nó.
- Phải khai báo phạm vi là public
- Có chứa phương thức: public static void main (String args[]){. . .}là phương thức được thực thi đầu tiên.
- Nếu nhiều lớp được định nghĩa trong một tập tin, chỉ có một lớp được khai báo public.
Chương trình HelloWorld
Trong ví dụ này, chúng ta viết một chương trình ứng dụng in ra màn hình dòng chữ "Hello World !". Đây là ứng dụng đơn giản chỉ có một lớp thực thi được tên là HelloWorld. Lớp này được khai báo là public, có phương thức main(), chứa trong tập tin cùng tên là HelloWorld.java (phần mở rộng bắt buộc phải là .java).
Chương trình HelloWorld.javaPhương thức System.out.print() sẽ in tất cả các tham số trong dấu () của nó ra màn hình.
Ta có thể dùng bất kỳ chương trình soạn thảo văn bản nào để biên soạn chương trình. Nhưng nhớ phải ghi lại với phần mở rộng là .java.
Biên soạn chương trình bằng phần mềm Notepad của Ms Windows
Notepad là trình soạn thảo đơn giản có sẵn trong MS Windows mà ta có thể dùng để biên soạn chương trình HelloWorld. Hãy thực hiện các bước sau:
- Chạy chương trình Notepad:
- Chọn menu Start Programs Accessories Notepad
- Nhập nội dung sau vào Notepad
public class HelloWorld { public static void main(String args[]) { System.out.print("Hello World! "); }}
Save tập tin với tên HelloWorld.java
- Chọn menu File Save
- Tại cửa sổ Save As hãy nhập vào:
- Save in: Thư mục nơi sẽ lưu tập tin
- File Name: HelloWorld.java
- Save as type: All Files
- Nhấp vào nút Save
Cài đặt bộ phát triển ứng dụng JDK
- Chuẩn bị bộ nguồn cài đặt JDK phù hợp với hệ điều hành sử dụng (Giả sử Windows 2000)
- Chạy tập tin Setup.exe
- Chọn nơi cài đặt, giả sử D:jdk1.4
- Đặt biến môi trường
- PATH = D:jdk1.4in; để có thể thực thi các chương trình này từ bất kỳ thư mục hiện hành nào.
- CLASSPATH = D:jdk1.4lib;.; chỉ đến các lớp thư viện của Java trong thư mục D:jdk1.4lib và các lớp tại thư mục hiện hành, thể hiện bằng dấu chấm( . ).
Biên dịch và thực thi chương trình
- Mở cửa sổ MS-DOS: Chọn menu Start Programs Accessories Command Prompt.
- Chuyển vào thư mục chứa tập tin HelloWorld.java
- Dùng chương trình javac để biên dịch tập tin HelloWorld.java
javac HelloWorld.java
-
- Nếu có lỗi, trên màn hình sẽ xuất hiện thông báo lỗi với dấu ^ chỉ vị trí lỗi.
- Nếu không có lỗi, tập tin thực thi HelloWorld.class được tạo ra.
- Kết quả Thực thi chương trình HelloWorldThực thi chương trình HelloWorld.class
java HelloWorld
Trên màn hình sẽ xuất hiện dòng chữ Hello World!
Một số ví dụ
Hiển thị thông tin ra màn hành
Để in thông tin ra màn hình bạn dùng phương thức
System.out.print(arg1+ arg2+ .. + argn)
Java sẽ tự động định dạng dữ liệu cho các tham số arg1, arg2, ..., argn tùy theo kiểu của chúng.
Hãy lưu chương trình sau vào tập tin Display.java:
public class Display { public static void main(String args[]) { int i = 10; String str = " nam yeu "; char ch = 'm'; System.out.print(' '+ "Bai hat:" + i + str + ch); }
}
Biên dịch và thực thi ta có kết quả :
Kết quả biên dịch chương trình Display.javaPhương thức System.out.println(arg1+ arg2+ .. + argn) in các tham số và tự động xuống dòng mới.
Đọc ký tự từ bàn phím
Phương thức int System.int.read() trả một số nguyên là mã ASCII của ký tự nhập từ bàn phím.
Hãy lưu chương trình sau vào tập tin KeyRead.java
import java.io.*;public class KeyRead { public static void main(String args[]) { try { int ch = System.in.read(); System.out.print("Ky tu " + (char)ch + " co ma ascii = "+ch); } catch(IOException ie) { System.out.print("Error " + ie) ; } }}
Biên dịch và thực thi ta có kết quả :
Kết quả biên dịch chương trình KeyRead.javaTrong ví dụ trên lưu ý một số điểm sau:
- Dòng đầu tiên import java.io.*; là cơ chế để khai báo với trình biên dịch các lớp thư viện của Java mà chương trình có sử dụng đến. Trong trường hợp này chương trình khai báo sử dụng tất cả các lớp trong gói (package) java.io. Thực tế chương trình trên chỉ sử dụng lớp IOException của gói java.io mà thôi, vì thế ta có thể thay thế dòng java.io.*; bằng java.io.IOException;.
- Cơ chế ngoại lệ (Exception) của java:
try { .... } catch(IOException ie) { .... }
sẽ được giải thích rõ ở phần sau.