Chương 1: LÀM QUEN<br />
VỚI JAVA<br />
<br />
Bài 1. Ngôn ngữ lập<br />
1<br />
trình Java<br />
<br />
Bài 1: Ngôn ngữ lập trình Java<br />
Bài 2: Một số thành phần cơ bản trong Java<br />
<br />
Mục đích & Yêu cầu<br />
<br />
Nội dung chính<br />
Nguồn gốc<br />
<br />
Biết Ngồn gốc và những đặc điểm của Java<br />
<br />
Đặc t ư<br />
Đặ trưng<br />
<br />
Hiểu cơ chế thực thi của Java<br />
<br />
Môi trường<br />
<br />
Hiểu cách biên dịch và chạy 1 chương trình<br />
<br />
Các loại chương trình Java<br />
<br />
Java<br />
<br />
Chương trình Java<br />
Biên dịch và thực hiện chương trình<br />
ị<br />
ự<br />
ệ<br />
g<br />
<br />
Hiểu cấu trúc cơ bản của một chương trình<br />
<br />
Tham số từ đối dòng lệnh<br />
<br />
Java<br />
<br />
Bài tập trắc nghiệm<br />
Bài tập thực hành<br />
<br />
Viết được một chương trình Java đơn giản<br />
3<br />
<br />
4<br />
<br />
1<br />
<br />
1. Nguồn gốc<br />
<br />
2. Đặc trưng<br />
Đặc trưng của NNLT Java:<br />
<br />
Vài nét về lịch sử:<br />
<br />
“Java là ngôn ngữ đơn giản, hướng đối<br />
tượng, phân tán, thông dịch lẫn biên<br />
dịch, mạnh mẽ, bảo mật, cấu trúc độc<br />
lập, khả chuyển, hiệu q<br />
ập,<br />
y , ệ quả cao và linh<br />
động”<br />
động” (Sun Microsystem)<br />
<br />
• Cuối 1990, James Gosling (Cty Sun<br />
Microsystem) xây dựng và đặt tên Oak.<br />
• Sau đó Oak đổi tên Java.<br />
• Năm 1993 hỗ trợ Web/Internet.<br />
• Năm 1995 Sun Microsystem công bố chính<br />
thức Java.<br />
5<br />
<br />
2. Đặc trưng<br />
<br />
6<br />
<br />
2. Đặc trưng<br />
<br />
Đơn giản:<br />
<br />
Phân tán (distributed):<br />
<br />
• Xây dựng từ C và C++, bỏ đi những phức<br />
tạp của C.<br />
<br />
• Hỗ trợ các ứng dụng phân tán qua lập trình<br />
ỗ<br />
mạng.<br />
<br />
• Bộ biên dịch có kích thước nhỏ (bản 1.4 chỉ<br />
6MB).<br />
<br />
• Một chương trình Java có thể kết hợp từ<br />
nhiều chương trình khác nhau trên<br />
Internet.<br />
<br />
Hướng đối tượng:<br />
<br />
Thông dịch (Interpreter) và biên dịch<br />
(compiler):<br />
<br />
• Chương trình Java viết hoàn toàn HĐT.<br />
• Mọi khai báo đều trong một lớp.<br />
7<br />
<br />
• Một chương trình Java được biên dịch<br />
(sang mã bytecode) sau đó thông dịch để<br />
<br />
8<br />
<br />
2<br />
<br />
2. Đặc trưng<br />
<br />
2. Đặc trưng<br />
<br />
Mạnh mẽ (robust):<br />
<br />
Kiến trúc trung tính (Neutral<br />
<br />
•J<br />
Java có hệ thố<br />
ó<br />
thống thư viện lớ<br />
iệ lớn.<br />
<br />
architecture):<br />
<br />
• Ràng buộc người lập trình chặt chẽ.<br />
• Trình gôm rác (Garbage Collection)<br />
<br />
• Chương trình java được dịch sang bytecode<br />
<br />
An toàn, Bảo mật (security):<br />
<br />
có thể thực hiện trên mọi hệ thống máy<br />
<br />
• Các bước kiểm tra trước khi thực hiện chương<br />
trình rất chặt chẽ.<br />
<br />
tính khác nhau: Macintosh Intel, Sun,<br />
Macintosh, Intel Sun<br />
<br />
• Java không dùng biến con trỏ nên không truy xuất<br />
trực tiếp bộ nhớ.<br />
• Applet không được phép truy cập tập tin hệ thống<br />
9<br />
<br />
Alpha,... và trên nhiều hệ điều hành khác<br />
nhau: Windows, Unix, Sun Solaris,<br />
Macintosh,…<br />
<br />
2. Đặc trưng<br />
<br />
10<br />
<br />
2. Đặc trưng<br />
Khả chuyển:<br />
<br />
•Chương trình thông dịch trên mỗi hệ<br />
thống tạo thành máy ảo java (JVM).<br />
<br />
• Khẩu hiệu của Java “Write Once, Run Anywhere”<br />
“Write Once<br />
Anywhere”<br />
nhờ máy ảo Java tương thích môi trường.<br />
<br />
11<br />
<br />
12<br />
<br />
3<br />
<br />
2. Đặc trưng<br />
<br />
3. Môi trường<br />
<br />
Hiệu quả cao (High-performance):<br />
(High-<br />
<br />
JDKJDK- Java Development Kit- Bộ công cụ phát<br />
Kittriển ứng dụng Java bao gồm 4 thành phần:<br />
<br />
• Tính hiệu quả chung so với C và C++.<br />
• Tốc độ chương trình Java chậm.<br />
<br />
• Classes<br />
<br />
Đa tuyến (Multi-Thread):<br />
(Multi-<br />
<br />
• Compiler<br />
• Debugger<br />
<br />
• Cho phép lập trình t<br />
Ch<br />
hé lậ t ì h tạo ra nhiều tiến trình<br />
hiề tiế t ì h<br />
<br />
• Java Runtime Environment<br />
<br />
đồng thời.<br />
<br />
Hiện nay đã có bản Java 1.6<br />
13<br />
<br />
14<br />
<br />
3. Môi trường<br />
<br />
3. Môi trường<br />
<br />
Trong thư mục BIN của JDK (sau khi cài<br />
đặt) có:<br />
• javac : Java Compiler: Dịch source code<br />
(*.java)<br />
mã Bytecode (*.class)<br />
<br />
không cần Browser<br />
• Cú pháp: appletviewer [options] sourcecodename.java /<br />
url<br />
<br />
• Cú pháp: javac [options]<br />
sourcecodename.java<br />
<br />
Trình dịch ngược, 'javap'<br />
• Cú pháp: javap [options] classname<br />
<br />
• java : Trình thông dịch, 'java', thực thi<br />
class file trong JVM<br />
• Cú pháp: java [options] classname<br />
<br />
appletviewer : cho phép chạy applet mà<br />
<br />
Công cụ sinh tài liệu, 'javadoc'<br />
• Cú pháp: javadoc [options] sourcecodename.java<br />
15<br />
<br />
16<br />
<br />
4<br />
<br />
3. Môi trường<br />
<br />
3. Môi trường<br />
<br />
Quá trình dịch chương trình Java<br />
<br />
Máy ảo Java<br />
<br />
• Trình biê dị h chuyển mã nguồn thành tậ các lệ h<br />
T ì h biên dịch h ể<br />
ã<br />
ồ thà h tập á lệnh<br />
không phụ thuộc vào phần cứng cụ thể<br />
<br />
Là một phần mềm giả<br />
lập một máy tính trong<br />
đó : Là tập hợp các lệnh<br />
logic để xác định hoạt<br />
động<br />
của<br />
máy<br />
tính<br />
(java.exe)<br />
(java.<br />
<br />
• Trình thông dịch trên mỗi máy chuyển tập lệnh này thành<br />
chương trình thực thi<br />
• Máy ảo tạo ra một môi trường để thực thi các lệnh bằng<br />
Chương trình<br />
cách:<br />
cách:<br />
Java (file.java)<br />
<br />
Nạp các file .class<br />
<br />
javac.exe : compiler<br />
<br />
Quản lý bộ nhớ<br />
Dọn “rác”<br />
platform<br />
<br />
Java Bytecode (file.class)<br />
JVM (java.exe)<br />
OS<br />
Hardware<br />
<br />
Dùng cơ chế Just-InTime thông dịch<br />
bytecode thành lệnh<br />
máy cụ thể<br />
17<br />
<br />
Môi trường<br />
<br />
4. Các loại chương trình<br />
<br />
JRE: Java Run-time Environment.<br />
Run.class<br />
class<br />
file<br />
Net<br />
work<br />
<br />
Nạp .class<br />
file<br />
Kiểm tra<br />
bytecode<br />
JIT code<br />
Generator<br />
<br />
Interprete<br />
r<br />
<br />
Các ứng dụng Java:<br />
Nhờ class<br />
Loader, kiểm<br />
tra an toàn<br />
<br />
Begin<br />
<br />
18<br />
<br />
•Ứ<br />
Ứng dụng Console: thự hiệ từ DOS<br />
d<br />
C<br />
l thực hiện<br />
DOS.<br />
• Ứng dụng desktop giao diện đồ họa.<br />
• Java Applet.<br />
<br />
Nhờ chức năng<br />
bytecode<br />
verifier, kiểm<br />
tra code format<br />
và quyền truy<br />
xuất<br />
ất<br />
<br />
• Lập trình mạng.<br />
• Lập trình ứng dụng Web: servlet, jsp.<br />
• Lập trình CSDL: JDBC.<br />
• JavaBean.<br />
<br />
Run-time<br />
code<br />
<br />
• Lập trình phân tán.<br />
<br />
Hardware<br />
<br />
• Lập trình mobile.<br />
<br />
End<br />
19<br />
<br />
20<br />
<br />
5<br />
<br />