lOMoARcPSD| 58707906
CHƯƠNG 1
NGÔN NGỮ LẬP
TRÌNH
JAVA
1
lOMoARcPSD| 58707906
NỘI DUNG CHÍNH
Giới thiệu về NNLT Java
Bảng chữ cái và ịnh danh
Kiểu dữ liệu nguyên thủy
Chương trình Java
Biên dịch và thực hiện chương trình
Tham số từ ối dòng lệnh
Cấu trúc iều khiển
Mảng
lOMoARcPSD| 58707906
1. GIỚI THIỆU
Vài nét về lịch sử: Cuối 1990, James Gosling (Cty Sun
Microsystem) xây dựng và ặt tên Oak.
Sau ó Oak ổi tên Java.
Năm 1993 hỗ trợ Web/Internet.
Năm 1995 Sun Microsystem công bố chính thức Java.
lOMoARcPSD| 58707906
1. GIỚI THIỆU (TIẾP)
Đặc trưng của NNLT Java:
Java là ngôn ngữ ơn giản, hướng ối tượng, phân tán, thông
dịch lẫn biên dịch, mạnh mẽ, bảo mật, cấu trúc ộc lập, khả
chuyển, hiệu quả cao và linh ộng” (Sun Microsystem)
1. GIỚI THIỆU (TIẾP)
Đơn giản:
lOMoARcPSD| 58707906
Xây dựng từ C C++, bỏ i những phức tạp của
C.
Bộ biên dịch kích thước nhỏ (bản 1.4 chỉ 6MB).
Hướng ối tượng:
Chương trình Java viết hoàn toàn HĐT.
Mọi khai báo ều trong một lớp.
1. GIỚI THIỆU (TIẾP)
Phân tán (distributed):
Hỗ trợ các ứng dụng phân tán qua lập trình mạng.
Một chương trình Java có thể kết hợp từ nhiều
chương trình khác nhau trên Internet.
lOMoARcPSD| 58707906
Thông dịch (Interpreter) biên dịch (compiler): Một
chương trình Java ược biên dịch (sang bytecode) sau ó thông dịch
thực thi.
1. GIỚI THIỆU (TIẾP)
Mạnh mẽ (robust):
Java có hệ thống thư viện lớn.
Ràng buộc người lập trình chặt chẽ.
Bảo mật (security):
Các bước kiểm tra trước khi thực hiện chương trình rất chặt chẽ.
lOMoARcPSD| 58707906
Java không dùng biến con trỏ nên không truy xuất trực tiếp bộ nhớ.
1. GIỚI THIỆU (TIẾP)
Kiến trúc trung tính (Neutral architecture): Chương trình java
ược dịch sang bytecode thể thực hiện trên mọi hệ thống máy tính khác
nhau: Macintosh, Intel, Sun, Alpha,... trên nhiều hệ iều hành khác nhau:
Windows, Unix, Sun Solaris, Macintosh,…
Chương trình thông dịch trên mỗi hệ thống tạo thành máy ảo java
(JVM).
lOMoARcPSD| 58707906
1. GIỚI THIỆU (TIẾP)
Khả chuyển:
Khẩu hiệu của Java “Write Once, Run Anywhere
nhờ máy ảo Java tương thích môi trường.
lOMoARcPSD| 58707906
1. GIỚI THIỆU (TIẾP)
Hiệu quả cao (High-performance):
Tính hiệu quả chung so với C và C++.
Tốc ộ chương trình Java chậm.
Đa tuyến (Multi-Thread):
lOMoARcPSD| 58707906
Cho phép lập trình tạo ra nhiều tiến trình ồng thời.
Linh ộng (flexible):
Trong khi chạy thể tự liên kết với các lớp mới máy chủ xa trên
Internet.
1. GIỚI THIỆU (TIẾP)
Bộ công cụ JDK (Java Development Kit)
Bộ công cụ phát triển trên môi trường Java bao gồm:
Chương trình dịch: javac.exe
Trình thông dịch: java.exe
Tạo tài liệu: javadoc.exe
lOMoARcPSD| 58707906
Thực thi applet: appletviewer.exe
Các thư viện
1. GIỚI THIỆU (TIẾP)
Các ứng dụng Java:
Ứng dụng Console: thực hiện từ DOS.
Ứng dụng desktop giao diện ồ họa.
Java Applet.
Lập trình mạng.
Lập trình ứng dụng Web: servlet, jsp.
Lập trình CSDL: JDBC.
lOMoARcPSD| 58707906
JavaBean.
Lập trình phân tán.
Lập trình mobile.
lOMoARcPSD| 58707906
CƠ BẢN VỀ NGÔN NGỮ
LẬP
TRÌNH JAVA
13
lOMoARcPSD| 58707906
2. BẢNG CHỮ CÁI VÀ ĐỊNH DANH
Bảng chữ cái:
Các chữ cái: A, B, .., Z, a, …, z.
Các chữ số: 0, 1, …, 9.
Các ký tự khác: +, -, … Định danh (Identifier):
Bắt ầu bằng chữ cái hoặc _ hoặc $
Có thể dùng chữ cái, chữ số, dấu _ trong ịnh danh.
Phân biệt chữ hoa và chữ thường
lOMoARcPSD| 58707906
3. CÁC KIỂU DỮ LIỆU NGUYÊN
THỦY
Số nguyên:
Kiểu Kích thước Phạm vi
byte1 byte -128->127 short 2 bytes -32768->32767 int 4 bytes -2
147 483 648 ->… long8 bytes -9,223,372,036,854,775,808
Các phép toán: +, -, *, /, %, ++, --
3. CÁC KIỂU DỮ LIỆU NGUYÊN THỦY
Ký tự:
char
lOMoARcPSD| 58707906
2bytes (dùng bảng mã unicode) Hằng ký tự: ặt
giữa ‘’ Các ký tự ặc biệt:
\b xóa lùi
\ttab
\n xuống dòng
\”
\’‘
\\\
\uxxxx ký tự unicode
lOMoARcPSD| 58707906
3. CÁC KIỂU DỮ LIỆU …(TIẾP)
Logic:
boolean
Giá trị: true, false.
Các phép toán:
!, &&, ||
3. CÁC KIỂU DỮ LIỆU … (TIẾP)
Số thực:
Kiểu Kích thước Phạm vi
lOMoARcPSD| 58707906
float 4 bytes 1.40129846432481707e-45
3.40282346638528860e+38
double 8 bytes 4.94065645841246544e-324
1.79769313486231570e+308
Các phép toán: +,-,*,/,%,++,--
Các hằng: NaN (không phải số), Infinity (vô cùng).
3. CÁC KIỂU DỮ LIỆU … (TIẾP)
Khai báo biến:
Kiểu dữ liệu <ds biến>;
Ví dụ: int x, y;
lOMoARcPSD| 58707906
Phép gán:
biến = <biểu thức>;
Kết quả phép gán trả về giá trị biểu thức.
Được phép gán: a = b = c;
Các phép gán mở rộng: +=, -=, *=, /=, %=
3. CÁC KIỂU DỮ LIỆU …(TIẾP)
Chuyển ổi kiểu dữ liệu: Hằng xác ịnh kiểu dữ liệu:
1.2 double
lOMoARcPSD| 58707906
1.2f float 123l long
Chuyển ổi kiểu tự ộng:
byte->short->int->long->float->double.
Ép kiểu: (kiểu)<biểu thức>
Ví dụ: int x = (int) 123.45; //x=123
THỨ TỰ ƯU TIÊN CÁC PHÉP TOÁN
[] ,., (params), expr++, expr— ++expr, –expr, +expr, –expr !
* / %

Preview text:

lOMoAR cPSD| 58707906 CHƯƠNG 1 NGÔN NGỮ LẬP TRÌNH JAVA 1 lOMoAR cPSD| 58707906 NỘI DUNG CHÍNH
• Giới thiệu về NNLT Java
• Bảng chữ cái và ịnh danh
• Kiểu dữ liệu nguyên thủy • Chương trình Java
• Biên dịch và thực hiện chương trình
• Tham số từ ối dòng lệnh • Cấu trúc iều khiển • Mảng lOMoAR cPSD| 58707906 1. GIỚI THIỆU
• Vài nét về lịch sử: • Cuối 1990, James Gosling (Cty Sun
Microsystem) xây dựng và ặt tên Oak.
• Sau ó Oak ổi tên Java.
• Năm 1993 hỗ trợ Web/Internet.
• Năm 1995 Sun Microsystem công bố chính thức Java. lOMoAR cPSD| 58707906 1. GIỚI THIỆU (TIẾP)
• Đặc trưng của NNLT Java:
Java là ngôn ngữ ơn giản, hướng ối tượng, phân tán, thông
dịch lẫn biên dịch, mạnh mẽ, bảo mật, cấu trúc ộc lập, khả
chuyển, hiệu quả cao và linh ộng
” (Sun Microsystem) 1. GIỚI THIỆU (TIẾP) • Đơn giản: lOMoAR cPSD| 58707906
• Xây dựng từ C và C++, bỏ i những phức tạp của C.
• Bộ biên dịch có kích thước nhỏ (bản 1.4 chỉ 6MB). • Hướng ối tượng:
• Chương trình Java viết hoàn toàn HĐT.
• Mọi khai báo ều trong một lớp. 1. GIỚI THIỆU (TIẾP) • Phân tán (distributed):
• Hỗ trợ các ứng dụng phân tán qua lập trình mạng.
• Một chương trình Java có thể kết hợp từ nhiều
chương trình khác nhau trên Internet. lOMoAR cPSD| 58707906
• Thông dịch (Interpreter) và biên dịch (compiler): • Một
chương trình Java ược biên dịch (sang mã bytecode) sau ó thông dịch ể thực thi. 1. GIỚI THIỆU (TIẾP) • Mạnh mẽ (robust):
• Java có hệ thống thư viện lớn.
• Ràng buộc người lập trình chặt chẽ. • Bảo mật (security):
• Các bước kiểm tra trước khi thực hiện chương trình rất chặt chẽ. lOMoAR cPSD| 58707906
• Java không dùng biến con trỏ nên không truy xuất trực tiếp bộ nhớ. 1. GIỚI THIỆU (TIẾP)
• Kiến trúc trung tính (Neutral architecture): • Chương trình java
ược dịch sang bytecode có thể thực hiện trên mọi hệ thống máy tính khác
nhau: Macintosh, Intel, Sun, Alpha,... và trên nhiều hệ iều hành khác nhau:
Windows, Unix, Sun Solaris, Macintosh,…
• Chương trình thông dịch trên mỗi hệ thống tạo thành máy ảo java (JVM). lOMoAR cPSD| 58707906 1. GIỚI THIỆU (TIẾP) • Khả chuyển:
• Khẩu hiệu của Java “Write Once, Run Anywhere”
nhờ máy ảo Java tương thích môi trường. lOMoAR cPSD| 58707906 1. GIỚI THIỆU (TIẾP)
• Hiệu quả cao (High-performance):
• Tính hiệu quả chung so với C và C++.
• Tốc ộ chương trình Java chậm.
• Đa tuyến (Multi-Thread): lOMoAR cPSD| 58707906
• Cho phép lập trình tạo ra nhiều tiến trình ồng thời. • Linh ộng (flexible):
• Trong khi chạy có thể tự liên kết với các lớp mới ở máy chủ ở xa trên Internet. 1. GIỚI THIỆU (TIẾP)
• Bộ công cụ JDK (Java Development Kit)
• Bộ công cụ phát triển trên môi trường Java bao gồm:
• Chương trình dịch: javac.exe
• Trình thông dịch: java.exe
• Tạo tài liệu: javadoc.exe lOMoAR cPSD| 58707906
• Thực thi applet: appletviewer.exe • Các thư viện • … 1. GIỚI THIỆU (TIẾP) • Các ứng dụng Java:
• Ứng dụng Console: thực hiện từ DOS.
• Ứng dụng desktop giao diện ồ họa. • Java Applet. • Lập trình mạng.
• Lập trình ứng dụng Web: servlet, jsp. • Lập trình CSDL: JDBC. lOMoAR cPSD| 58707906 • JavaBean. • Lập trình phân tán. • Lập trình mobile. lOMoAR cPSD| 58707906 CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH JAVA 13 lOMoAR cPSD| 58707906
2. BẢNG CHỮ CÁI VÀ ĐỊNH DANH • Bảng chữ cái:
• Các chữ cái: A, B, .., Z, a, …, z.
• Các chữ số: 0, 1, …, 9.
• Các ký tự khác: +, -, … • Định danh (Identifier):
• Bắt ầu bằng chữ cái hoặc _ hoặc $
• Có thể dùng chữ cái, chữ số, dấu _ trong ịnh danh.
• Phân biệt chữ hoa và chữ thường lOMoAR cPSD| 58707906
3. CÁC KIỂU DỮ LIỆU NGUYÊN THỦY • Số nguyên: Kiểu Kích thước Phạm vi
byte1 byte -128->127 short 2 bytes -32768->32767 int 4 bytes -2
147 483 648 ->… long8 bytes -9,223,372,036,854,775,808
• Các phép toán: +, -, *, /, %, ++, --
3. CÁC KIỂU DỮ LIỆU NGUYÊN THỦY • Ký tự: • char lOMoAR cPSD| 58707906
• 2bytes (dùng bảng mã unicode) • Hằng ký tự: ặt
giữa ‘’ • Các ký tự ặc biệt: • \b xóa lùi • \ttab • \n xuống dòng • \” “ • \’‘ • \\\ • \uxxxx ký tự unicode lOMoAR cPSD| 58707906
3. CÁC KIỂU DỮ LIỆU …(TIẾP) • Logic: • boolean • Giá trị: true, false. • Các phép toán: • !, &&, ||
3. CÁC KIỂU DỮ LIỆU … (TIẾP) • Số thực: Kiểu Kích thước Phạm vi lOMoAR cPSD| 58707906 float
4 bytes 1.40129846432481707e-45 3.40282346638528860e+38 double
8 bytes 4.94065645841246544e-324 1.79769313486231570e+308
• Các phép toán: +,-,*,/,%,++,--
• Các hằng: NaN (không phải số), Infinity (vô cùng).
3. CÁC KIỂU DỮ LIỆU … (TIẾP) • Khai báo biến: • Kiểu dữ liệu ; • Ví dụ: int x, y; lOMoAR cPSD| 58707906 • Phép gán: • biến = ;
• Kết quả phép gán trả về giá trị biểu thức.
• Được phép gán: a = b = c;
• Các phép gán mở rộng: +=, -=, *=, /=, %=
3. CÁC KIỂU DỮ LIỆU …(TIẾP)
• Chuyển ổi kiểu dữ liệu: • Hằng xác ịnh kiểu dữ liệu: • 1.2 double lOMoAR cPSD| 58707906 • 1.2f float • 123l long
• Chuyển ổi kiểu tự ộng:
• byte->short->int->long->float->double. • Ép kiểu: (kiểu)
• Ví dụ: int x = (int) 123.45; //x=123
THỨ TỰ ƯU TIÊN CÁC PHÉP TOÁN
• [] ,., (params), expr++, expr— • ++expr, –expr, +expr, –expr ! • * / %