Tài liệu Lập trình công nghệ java: TRUNG TÂM TIN HỌC - ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP. HCM
227 Nguyễn Văn Cừ – Quận 5 – Tp. Hồ Chí Minh
Tel: 8351056 – Fax 8324466 – Email: ttth@hcmus.edu.vn
Mã tài liệu: DT_NCM_LT_DC_LT_WEB_JAVA
Phiên bản 1.0 – Tháng 01/2014
ĐỀ CƯƠNG CHI TIẾT
KHĨA HỌC
LẬP TRÌNH CƠNG NGHỆ JAVA
Module 1: Java cơ bản
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 1/11
Mục tiêu
Sau khi hồn thành module 1 , học viên sẽ cĩ khả năng:
Nắm vững khái niệm cơ bản trong ngơn ngữ lập trình JAVA
Thiết kế giao diện windows forms đơn giản
Làm việc với tập tin, mảng
Lập trình hướng đối tượng cơ bản
Đưa dịch vụ vào sử dụng trong ứng dụng windows forms.
Xây dựng ứng dụng nhỏ
Lập trình cĩ phong cách, phối hợp làm việc nhĩm tốt, quản lý thời gian hiệu quả
Đối tượng học viên
Học sinh, đã tốt nghiệp PTTH (chương trình LTV dành cho HV)
Sinh viên các trường Đại học, Cao đẳng, Trung cấp cĩ kiến thức lập trình cơ bản (chương
trình L...
62 trang |
Chia sẻ: Khủng Long | Lượt xem: 1105 | Lượt tải: 2
Bạn đang xem trước 20 trang mẫu tài liệu Lập trình công nghệ java, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
TRUNG TÂM TIN HỌC - ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP. HCM
227 Nguyễn Văn Cừ – Quận 5 – Tp. Hồ Chí Minh
Tel: 8351056 – Fax 8324466 – Email: ttth@hcmus.edu.vn
Mã tài liệu: DT_NCM_LT_DC_LT_WEB_JAVA
Phiên bản 1.0 – Tháng 01/2014
ĐỀ CƯƠNG CHI TIẾT
KHĨA HỌC
LẬP TRÌNH CƠNG NGHỆ JAVA
Module 1: Java cơ bản
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 1/11
Mục tiêu
Sau khi hồn thành module 1 , học viên sẽ cĩ khả năng:
Nắm vững khái niệm cơ bản trong ngơn ngữ lập trình JAVA
Thiết kế giao diện windows forms đơn giản
Làm việc với tập tin, mảng
Lập trình hướng đối tượng cơ bản
Đưa dịch vụ vào sử dụng trong ứng dụng windows forms.
Xây dựng ứng dụng nhỏ
Lập trình cĩ phong cách, phối hợp làm việc nhĩm tốt, quản lý thời gian hiệu quả
Đối tượng học viên
Học sinh, đã tốt nghiệp PTTH (chương trình LTV dành cho HV)
Sinh viên các trường Đại học, Cao đẳng, Trung cấp cĩ kiến thức lập trình cơ bản (chương
trình LTV dành cho SV)
Phần mềm sử dụng
Windows 7.0
Eclipse (plugin Windows Builder Pro)
Phân bố bài giảng
STT Bài học
1 Tổng quan - Mơi trường làm việc
2 Kiểu dữ liệu cơ sở
3 Giao diện 1
4 Truy xuất tập tin
5 Mảng cơ sở
6 Giao diện 2
7 Đối tượng
8 Sử dụng dịch vụ
9 Tổng kết
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 2/11
DÀN Ý CHI TIẾT
BÀI 1: TỔNG QUAN - MƠI TRƯỜNG LÀM VIỆC
Mục tiêu
Giới thiệu tổng quan mơi trường phát triển ứng dụng Java và một số thao tác cơ bản khi làm việc với
Eclipse, hướng dẫn cách cài đặt Eclipse và chạy chương trình Java trong Eclipse.
Dàn bài
Giới thiệu ứng dụng Java
Tổng quan về lập trình (Programming) , chương trình (Program), ngơn ngữ lập trình
(Programming Language), ngơn ngữ trung gian của Java (Byte code)
Lịch sử phát triển của Java
Mơi trường phát triển ứng dụng
Giới thiệu về Eclipse
Các thành phần của Eclipse
Cài đặt Eclipse và Plugin
Xây dựng ứng dụng đầu tiên
Cấu trúc chương trình viết bằng Java
Xây dựng và thực thi chương trình viết bằng Java
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 3/11
BÀI 2: KIỂU DỮ LIỆU CƠ SỞ
Mục tiêu
Kết thúc bài học này, học viên sẽ cĩ khả năng:
- Sử dụng các kiểu dữ liệu cơ sở
- Nắm được cú pháp ngơn ngữ Java trong lập trình ứng dụng
- Ơn lại các tốn tử, các cấu trúc điều khiển, cách xử lý lỗi
Dàn bài
Kiểu dữ liệu và chuyển đổi kiểu dữ liệu
Kiểu cơ sở
Kiểu tham chiếu
Cơ chế chuyển đổi kiểu dữ liệu
Biến và hằng số
Khái niệm biến
Khái niệm hằng số
Quy ước đặt tên biến và hằng số
Cú pháp khai báo biến và hằng số
Các xử lý trên kiểu String
Khái niệm kiểu String, các phương thức xử lý trên String
Lớp StringBuilder
Lớp StringTokenizer
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 4/11
BÀI 3: GIAO DIỆN 1
Mục tiêu
Kết thúc bài học này, học viên cĩ thể thao tác trên các điều khiển và thể hiện đơn giản.
Dàn bài
Giới thiệu
Các điều khiển và thể hiện
JFrame
JPanel
JLabel
ImageIcon
JTextField
JButton
JFileChooser
Các phương thức của thể hiện
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 5/11
BÀI 4: XỬ LÝ TẬP TIN
Mục tiêu
Kết thúc bài học này, học viên cĩ thể thao tác trên tập tin để đọc và xử lý nội dung tập tin.
Dàn bài
Tổng quan về I/O Stream
Khái niệm về I/O Stream
Đọc dữ liệu nhị phân với Byte Stream
Đọc dữ liệu ký tự với Character Stream
Sử dụng vùng đệm trong xử lý đọc ghi dữ liệu với Buffered Stream
Đọc ghi dữ liệu theo định dạng với Scanning và Formating
Xử lý đọc ghi dữ liệu với Data Stream
Xử lý đọc ghi các đối tượng với Object Stream
Tổng quan về làm việc với tập tin (File I/O)
Làm việc với đường dẫn tập tin
Kiểm tra tồn tại tập tin
Tạo mới, xĩa, di chuyển tập tin
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 6/11
BÀI 5: MẢNG CƠ SỞ
Mục tiêu
Bài học này sẽ cung cấp cho học viên các kỹ năng để làm việc trên mảng cơ bản (1 chiều) trong mơi
trường JAVA.
Dàn bài
Khái niệm mảng
Các kiểu mảng
Mảng một chiều và các thao tác xử lý cơ bản trên mảng một chiều, mảng String
Các hàm xử lý khác trên mảng
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 7/11
BÀI 6: GIAO DIỆN 2
Mục tiêu
Kết thúc bài học này, học viên cĩ thể thao tác trên các thể hiện đơn giản.
Dàn bài
JCheckbox
JRadio button
Group Button
JCombobox
JTable
JMenu
JMenuItem
Các phương thức của thể hiện
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 8/11
BÀI 7: ĐỐI TƯỢNG
Mục tiêu
Giới thiệu các khái niệm về đối tượng, cách thiết kế và sử dụng lớp đối tượng.
Dàn bài
Tổng quan về lập trình hướng đối tượng
Khái niệm
Các đặc trưng cơ bản của lập trình hướng đối tượng: tính trừu tượng, tính đĩng gĩi, tính kế
thừa
Xây dựng lớp đối tượng
Tạo lớp và đối tượng
Biến thực thể, các chỉ định từ truy xuất: public, private, protected, default
Phương thức khởi tạo
Phương thức tính tốn xử lý
Package
Khái niệm
Các thức khai báo và sử dụng package
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 9/11
BÀI 8: SỬ DỤNG DỊCH VỤ
Mục tiêu
Giới thiệu khái niệm về dịch vụ. Cách gọi sử dụng dịch vụ trong ứng dụng.
Dàn bài
Khái niệm dịch vụ
Sử dụng dịch vụ
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 10/11
BÀI 9: TỔNG KẾT
Mục tiêu
Ơn tập và hướng dẫn làm các bài tập bổ sung.
Dàn bài
Ơn tập
Hướng dẫn làm bài tập bổ sung
Đề cương giảng dạy
Module 1 – Nhập môn Lập trình JAVA Trang 11/11
Mục lục
Mục tiêu ............................................................................................................................................. 2
Đối tượng học viên ............................................................................................................................. 2
Phần mềm sử dụng ............................................................................................................................ 2
Phân bố bài giảng .............................................................................................................................. 2
DÀN Ý CHI TIẾT ................................................................................................................................. 3
BÀI 1: TỔNG QUAN - MƠI TRƯỜNG LÀM VIỆC ............................................................................... 3
Mục tiêu ............................................................................................................................................. 3
Dàn bài .............................................................................................................................................. 3
BÀI 2: KIỂU DỮ LIỆU CƠ SỞ ........................................................................................................... 4
Mục tiêu ............................................................................................................................................. 4
Dàn bài .............................................................................................................................................. 4
BÀI 3: GIAO DIỆN 1 ........................................................................................................................ 5
Mục tiêu ............................................................................................................................................. 5
Dàn bài .............................................................................................................................................. 5
BÀI 4: XỬ LÝ TẬP TIN ..................................................................................................................... 6
Mục tiêu ............................................................................................................................................. 6
Dàn bài .............................................................................................................................................. 6
BÀI 5: MẢNG CƠ SỞ ....................................................................................................................... 7
Mục tiêu ............................................................................................................................................. 7
Dàn bài .............................................................................................................................................. 7
BÀI 6: GIAO DIỆN 2 ........................................................................................................................ 8
Mục tiêu ............................................................................................................................................. 8
Dàn bài .............................................................................................................................................. 8
BÀI 7: ĐỐI TƯỢNG ......................................................................................................................... 9
Mục tiêu ............................................................................................................................................. 9
Dàn bài .............................................................................................................................................. 9
BÀI 8: SỬ DỤNG DỊCH VỤ ............................................................................................................. 10
Mục tiêu ........................................................................................................................................... 10
Dàn bài ............................................................................................................................................ 10
BÀI 9: TỔNG KẾT .......................................................................................................................... 11
Mục tiêu ........................................................................................................................................... 11
Dàn bài ............................................................................................................................................ 11
Mục lục ............................................................................................................................................. 12
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 2/52
BÀI 1: Tổng quan – Mơi
trường làm việc
1. Tổng quan về lập trình
a. Chương trình
- Xem slide module 1 – bài 1 – mục 1
b. Ngơn ngữ lập trình
- Xem slide module 1 – bài 1 – mục 1
c. Lập trình
- Xem slide module 1 – bài 1 – mục 1
d. Ngơn ngữ trung gian của Java
- Xem slide module 1 – bài 1 – mục 1
2. Lịch sử phát triển của Java
- Xem slide module 1 – bài 1 – mục 1
Phân loại
- J2SE (Java 2 Standard Edition)
+ Ứng dụng Desktop
- J2EE (Java 2 Enterprise Edition)
+ Ứng dụng Enterprise
- J2ME (Java 2 Mobile Edition)
+ Ứng dụng Mobile
3. Mơi trường phát triển ứng dụng
a. Giới thiệu Eclipse
- Xem slide module 1 – bài 1 – mục 2
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 3/52
b. Các thành phần của Eclipse
- Xem slide module 1 – bài 1 – mục 2
c. Cài đặt Eclipse & plugin
- Cài đặt Eclipse
Xem slide module 1 – bài 1 – mục 2
- Cài đặt Plugin
Xem slide module 1 – bài 1 – mục 2
4. Xây dựng và thực thi chương trình viết bằng Java
a. Cấu trúc chương trình viết bằng Java
- Xem slide module 1 – bài 1 – mục 3
b. Xây dựng và thực thi chương trình
- Xem slide module 1 – bài 1 – mục 3
c. Tạo Project
- File > New > Java Project > nhập tên của Project > chọn vị trí lưu trữ
hoặc để vị trí mặc định > Finish
- Cấu trúc Project:
- Xem slide module 1 – bài 1 – mục 3
d. Tạo một ứng dụng trên Console
- Chọn Project chứa ứng dụng > src > New > Class > nhập tên của
class > Finish
- Ví dụ: Tạo ứng dụng xuất câu chào như sau:
- Source
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 4/52
e. Tạo một ứng dụng Windows Form:
- Chọn Project chứa ứng dụng > src > New > Others > chọn JFrame
> nhập tên của ứng dụng > Finish
- Ví dụ: Tạo ứng dụng xuất câu chào như sau:
- Hướng dẫn:
+ Khai báo biến:
private static final String CAU_CHAO = "Chào bạn %s, chào mừng
bạn đến với ngơn ngữ lập trình Java.";
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 5/52
BÀI 2: Kiểu dữ liệu cơ sở
1. Kiểu dữ liệu và chuyển đổi kiểu dữ liệu
- Xem slide module 1 – bài 2 – mục 1
Cơ chế chuyển đổi kiểu dữ liệu
- Xem slide module 1 – bài 2 – mục 1
2. Biến và hằng số
a. Khái niệm biến
- Xem slide module 1 – bài 2 – mục 1
b. Khái niệm hằng số
- Xem slide module 1 – bài 2 – mục 2
c. Quy ước đặt tên biến và hằng số
- Tên biến cĩ thể gồm các ký tự chữ, ký tự số, dấu gạch dưới ‘_’, và
dấu ‘$’
- Tên biến phải bắt đầu bằng ký tự chữ
- Tên biến khơng được trùng với từ khĩa và từ dành riêng của Java
- Tên biến cĩ phân biệt chữ hoa – thường
- Nếu tên biến chỉ gồm một từ đơn, tên biến nên viết chữ thường
- Nếu tên biến gồm nhiều từ, ký tự đầu của từ đầu viết thường, ký tự
đầu của mỗi từ kế tiếp viết hoa
d. Cú pháp khai báo biến và hằng số
- Khai báo biến
- Xem slide module 1 – bài 2 – mục 2
- Khai báo hằng
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 6/52
- Xem slide module 1 – bài 2 – mục 2
3. Các tốn tử
a. Tốn tử gán
b. Tốn tử số học
c. Tốn tử một ngơi
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 7/52
d. Tốn tử so sánh
e. Tốn tử luận lý điều kiện
- Ví dụ:
boolean a=true,b=false;
boolean kq=a && b; // kq=false
kq=a || b; // kq=true
kq= a == b ? true: false; // kq=false
f. Tốn tử tiền tố, hậu tố
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 8/52
- Các tốn tử tăng (++) và giảm (--) được sử dụng để làm tiền tố và
hậu tố. Trong trường hợp tiền tố, các tốn tử tăng hoặc giảm được
đặt trước biến kiểu dữ liệu đơn giản.
- Ví dụ:
++a a = a + 1
--a a = a – 1
int b = 6;
int a = ++b; // a = 7, b = 7
a = b++; // a = 7, b = 8
++b; // a = 7, b = 9
a = --b; // a = 8, b = 8
a = b--; // a = 8, b = 7
g. Độ ưu tiên tốn tử
- Tính kết hợp và độ ưu tiên tốn tử
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 9/52
4. Các câu lệnh điều kiện
- Cho phép chúng ta thay đổi luồng thi hành của chương trình dựa vào
các biểu thức điều kiện
- Các câu lệnh điều kiện:
+ if
+ if – else
+ switch – case
a. Câu lệnh if
- Kiểm tra kết quả của điều kiện và thực hiện hành động thích hợp dựa
vào kết quả của điều kiện
- Cú pháp
if (Điều kiện){
// Khối lệnh A
}
- Lưu đồ
- Ví dụ:
Xét kết quả học tập: nếu điểm trung bình >=5: kết quả là “Đậu”
double dtb;
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 10/52
// nhập giá trị cho dtb
if (dtb>=5)
System.out.println(“Đậu”);
b. Câu lệnh if – else
- Được dùng để lựa chọn một trong hai nhánh thi hành của chương
trình
- Cú pháp
if (Điều kiện){
// Khối lệnh A
}
else{
// Khối lệnh B
}
- Lưu đồ
- Ví dụ
Xét kết quả học tập:
- nếu điểm trung bình >=5: kết quả là “Đậu”,
- ngược lại là “Rớt”
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 11/52
double dtb;
// nhập giá trị cho dtb
if (dtb>=5)
System.out.println(“Đậu”);
else
System.out.println(“Rớt”);
c. Nhiều câu lệnh if
- Là các câu lệnh if else if nối đuơi
- Điều kiện sẽ được kiểm tra tuần tự từ đầu đến cuối
- Cú pháp
if (Điều kiện){
//câu lệnh;
}
else if (Điều kiện) {
//câu lệnh;
}
else {
//câu lệnh;
}
- Ví dụ
Xếp loại học tập dựa trên điểm trung bình
double dtb;
// nhập giá trị cho dtb
if (dtb10)
System.out.println(“Diem khong hop le”);
else if (dtb<5)
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 12/52
System.out.println(“Yeu”);
else if (dtb<6.5)
System.out.println(“Trung binh”);
else if (dtb<7.5)
System.out.println(“Kha”);
else if (dtb<8.5)
System.out.println(“Gioi”);
else
System.out.println(“Xuat sac”);
d. Câu lệnh switch – case
- Câu lệnh switch – case được dùng để thay thế cho câu lệnh if – else –
if
- Được dùng trong trường hợp biểu thức lượng giá cĩ nhiều giá trị cĩ
thể liệt kê được
- Cú pháp
switch (Biểu thức){
case giátrị1:
//câu lệnh;
break;
case giátrị2 :
// câu lệnh;
break;
case giátrịN:
// câu lệnh;
break;
default:
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 13/52
//câu lệnh;
}
- Ví dụ
Nhập vào tháng, năm, tìm số ngày tối đa của tháng.
int thang, nam;
// nhập giá trị cho thang, nam
switch (thang){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
System.out.println(“31 ngay”);break;
case 4: case 6: case 9: case 11:
System.out.println(“30 ngay”);break;
case 2:
if (nam%400==0 || (nam%4==0 && nam%100!=0))
System.out.println(“29 ngay”);
else
System.out.println(“28 ngay”);
break;
default: System.out.println(“Thang khong hop le”);break;
}
5. Các câu lệnh lặp
- Một vịng lặp gồm một câu lệnh hay một khối lệnh sẽ thi hành lặp lại
cho tới khi biểu thức điều kiện sai
- Cĩ ba loại vịng lặp trong Java
+ while
+ do while
+ for
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 14/52
a. Câu lệnh while
- Dùng để thi hành một lệnh hay khối lệnh trong khi biểu thức điều kiện
cịn đúng
- Điều kiện được kiểm tra trước khi các lệnh được thi hành
- Cú pháp
while (Điều kiện lặp){
// Khối lệnh lặp
}
- Lưu đồ
- Ví dụ
Tính tổng các số nguyên từ 1 đến 100
int i=1, tong=0;
while (i<=100){
tong+=i;
i++;
}
System.out.println(tong);
b. Câu lệnh do while
- Kiểm tra điều kiện ở cuối vịng lặp thay vì đầu vịng lặp để đảm bảo
rằng vịng lặp sẽ được thi hành ít nhất một lần
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 15/52
- Cú pháp
do{
// Khối lệnh lặp
}
while (Điều kiện lặp);
- Lưu đồ
- Ví dụ
Tính tổng các số nguyên từ 1 đến 100
int i=1, tong=0;
do{
tong+=i;
i++;
}
while (i<=100);
System.out.println(tong);
c. Câu lệnh for
- Lệnh for được sử dụng khi biết trước số lần lặp
- Cú pháp
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 16/52
for (biểu thức khởi tạo biến đếm;
điều kiện lặp;
biểu thức tăng/giảm giá trị biến đếm){
// Khối lệnh lặp
}
- Lưu đồ
- Ví dụ
Tính tổng các số nguyên từ 1 đến 100
int i=1, tong=0;
for (i=1;i<=100;i++){
tong+=i;
}
System.out.println(tong);
d. Câu lệnh nhảy: break, continue
- Cho phép thay đổi thứ tự thi hành của chương trình
- break:
+ Kết thúc 1 chuỗi lệnh trong câu lệnh switch
+ Thốt khỏi vịng lặp
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 17/52
+ Là hình thức khác của lệnh goto
- continue:
+ bỏ qua lần lặp hiện hành và quay về
+ đầu vịng lặp để thi hành
+ vịng lặp kế tiếp
6. Các xử lý trên kiểu String
- Khái niệm: Là lớp quản lý dữ liệu văn bản cĩ
nội dung khơng thay đổi được
- Khai báo:
String s1 = new String();
String s2 = “Hello”;
- Các phương thức xử lý trên kiểu String
- length()
- charAt()
- concat()
- compareTo()
- indexOf()
- lastIndexOf()
- replace()
- subString()
- toString()
- trim()
- Ví dụ:
String s = “Happy ";
String s1 = “New Year”;
// Tính chiều dài chuỗi
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 18/52
int len = s.length(); // 6
// Nối chuỗi s1 vào chuỗi s: tương đương s + s1
s.concat(s1); // Happy New Year
// Lấy một ký tự tại vị trí số 8 của s
char result = s.charAt(8); // e
// So sánh hai chuỗi s1 và s2
String s2 = “New Year”;
s2.compareTo(s1); // 0 (trả về 0, 0)
// Tìm vị trí xuất hiện đầu tiên của chuỗi s2 trong chuỗi s
s.indexOf(s2); // 6 (vị trí đầu tiên)
---
s = “Happy New Year";
s1 = “Happy”;
s2 = “New”;
// Tìm vị trí xuất hiện cuối cùng của chuỗi s2 trong chuỗi s
s.lastIndexOf(s2); // 6 (trả về -1 nếu khơng tìm thấy)
// Thay thế chuỗi s1 bằng chuỗi s2 trong chuỗi s
s.replace(s1, s2); // New New Year
// Loại bỏ các khoảng trắng thừa của chuỗi s3
String s3 = “ Hello Bi ”;
s3.trim();// Hello Bi
// Tạo chuỗi con s4 từ chuỗi s từ vị trí số 6
String s4 = s.substring(6); // New Year
a. Lớp StringBuilder
- Xem slide module 1 – bài 2 – mục 3
- Các phương thức
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 19/52
– append()
– insert()
– delete()
– reverse()
- append()
+ Xem slide module 1 – bài 2 – mục 3
- Ví dụ:
StringBuilder sb = new StringBuilder();
sb.append(“Chào mừng ");
sb.append(“đến với”);
sb.append(“lập trình Java”);
System.out.println(sb);
- insert()
+ Xem slide module 1 – bài 2 – mục 3
- delete()
+ Xem slide module 1 – bài 2 – mục 3
- reverse(): Đảo ngược chuỗi trong đối tượng đang cĩ, cĩ kết quả trả
về là một tham chiếu đến đối tượng này
b. Lớp StringTokenizer
- Chia chuỗi thành các chuỗi con
- Các hàm khởi tạo của lớp StringTokenizer
+ Xem slide module 1 – bài 2 – mục 3
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 20/52
- Các phương thức:
+ Xem slide module 1 – bài 2 – mục 3
- Ví dụ
String s=“Lập trình Java”;
StringTokenizer st=new StringTokenizer(s);
while (st.hasMoreTokens())
System.out.println(st.nextToken());
s=“Lập/trình/Java”;
st=new StringTokenizer(s,”/”);
while (st.hasMoreTokens())
System.out.println(st.nextToken());
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 21/52
BÀI 3: Giao diện 1
1. Giới thiệu
- Các điều khiển (thể hiện) là các đối tượng dành cho người dùng
tương tác với chương trình để thực hiện một cơng việc nào đĩ, hoặc
xem một nội dung.
2. Các điều khiển và thể hiện
- Mỗi điều khiển được sử dụng là một lớp điều khiển nằm trong thư
viện Swing – GUI của Java
- Thuộc tính chung
+ Xem slide module 1 – bài 3 – mục 2
- Phương thức chung
+ Xem slide module 1 – bài 3 – mục 2
a. JFrame
- Xem slide module 1 – bài 3 – mục 2
b. JPanel
- Xem slide module 1 – bài 3 – mục 2
c. JLabel
- Xem slide module 1 – bài 3 – mục 2
d. JLabel – ImageIcon
- Xem slide module 1 – bài 3 – mục 2
e. JTextField
- Xem slide module 1 – bài 3 – mục 2
f. JButton
- Xem slide module 1 – bài 3 – mục 2
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 22/52
g. JFileChooser
- Xem slide module 1 – bài 3 – mục 2
- Ví dụ: Tạo một file chooser
JButton button = new JButton("Select File");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
JFileChooser fileChooser = new JFileChooser();
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
System.out.println(selectedFile.getName());
}
}
});
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 23/52
BÀI 4: Xử lý tập tin
1. Tổng quan về I/O Stream
a. Khái niệm về I/O Stream
- Xem nội dung module 1 – bài 4 – mục 1
b. Đọc dữ liệu nhị phân với Byte Stream
- Xem nội dung module 1 – bài 4 – mục 1
- Đọc dữ liệu với Byte Stream
int i; s="";
try(FileInputStream in=
new FileInputStream("C:/BTJV/Test.txt")){
while ((i=in.read()) !=-1)
s+=(char)i;
ta1.setText(s);
}
catch (FileNotFoundException ex1){
JOptionPane.showMessageDialog(null,"Khong tim thay tap tin");
}
catch (IOException ex2){
JOptionPane.showMessageDialog(null,"Loi IO: " +
ex2.getMessage());
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,"Loi: " +
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 24/52
ex.getMessage());
}
- Ghi dữ liệu với Byte Stream
try(FileOutputStream out=
new FileOutputStream("C:/BTJV/Text.txt")){
s=ta1.getText();
for(int i=0;i<s.length();i++)
out.write(s.charAt(i));
JOptionPane.showMessageDialog(null,"Ghi file thành cơng");
}
catch (IOException ex2){
JOptionPane.showMessageDialog(null,"Loi IO: " +
ex2.getMessage());
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,"Loi: " + ex.getMessage());
}
c. Đọc dữ liệu ký tự với Character Stream
- Luồng ký tự (Character Stream) hỗ trợ đọc ghi luồng ký tự Unicode
- Tất cả các lớp luồng ký tự đều là lớp con cả Reader và Writer
- Đọc dữ liệu với Character Stream
int i; s="";
try(FileReader in=new FileReader("C:/BTJV/Test1.txt")){
while ((i=in.read()) !=-1)
s+=(char)i;
ta1.setText(s);
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 25/52
}
catch (FileNotFoundException ex1){
JOptionPane.showMessageDialog(null,"Khong tim thay tap tin");
}
catch (IOException ex2){
JOptionPane.showMessageDialog(null,"Loi IO: " +
ex2.getMessage());
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,"Loi: " + ex.getMessage());
}
- Ghi dữ liệu với Character Stream
//String[] ss={"Xin chào","Chào mừng đến với lập trình Java"};
s=ta1.getText();
try(FileWriter out=new FileWriter("C:/BTJV/Test1.txt")){
//for(i=0;i<ss.length;i++)
// out.write(ss[i]+"\r\n");
out.write(s);
JOptionPane.showMessageDialog(null,"Ghi file thành cơng");
}
catch (IOException ex2){
JOptionPane.showMessageDialog(null,"Loi IO: " +
ex2.getMessage());
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,"Loi: " + ex.getMessage());
}
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 26/52
d. Sử dụng vùng đệm trong xử lý đọc ghi dữ liệu với Buffered
Stream
- Xem nội dung module 1 – bài 4 – mục 1
- Ví dụ:
BufferedReader in=new BufferedReader(new
FileReader(“Text.txt “);
BufferedWriter out=new BufferedWriter(new
FileWriter(“Text.txt “);
- Đọc dữ liệu
s="";
try(BufferedReader in=new
BufferedReader(new FileReader("C:/BTJV/Test2.txt"))){
String chuoi="";
while ((chuoi=in.readLine())!=null)
s+=chuoi;
ta1.setText(s);
}
catch (FileNotFoundException ex1){
JOptionPane.showMessageDialog(null,"Khong tim thay tap tin");
}
catch (IOException ex2){
JOptionPane.showMessageDialog(null,"Loi IO: " +
ex2.getMessage());
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,"Loi: " + ex.getMessage());
}
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 27/52
- Ghi dữ liệu
//String[] ss={"Xin chào","Chào mừng đến với lập trình Java",
//"Chúc bạn học tốt"};
s=ta1.getText();
try(BufferedWriter out=new BufferedWriter(
new FileWriter("C:/BTJV/Test2.txt"))){
//for(i=0;i<ss.length;i++)
// out.write(ss[i]+"\r\n");
out.write(s);
JOptionPane.showMessageDialog(null,"Ghi file thành cơng");
}
catch (IOException ex2){
JOptionPane.showMessageDialog(null,"Loi IO: " +
ex2.getMessage());
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,"Loi: " + ex.getMessage());
}
e. Đọc ghi dữ liệu theo định dạng với Scanning và Formating
- Chuyển đổi định dạng dữ liệu trong quá trình đọc ghi dữ liệu
+ Scanner: phân tách dữ liệu thành các thẻ bài
+ Formatting: tổng hợp dữ liệu thành định dạng người dùng cĩ
thể xử lý
- Đọc dữ liệu
s="";
try (Scanner sc=new Scanner(new BufferedReader(
new FileReader("C:/BTJV/Test3.txt")))){
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 28/52
while (sc.hasNext())
s+=sc.next();
ta1.setText(s);
}
catch (FileNotFoundException ex1){
JOptionPane.showMessageDialog(null,"Khong tim thay tap tin");
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,"Loi: " +
ex.getMessage());
}
- Ghi dữ liệu
//String[] ss={"Xin chào","Chào mừng đến với lập trình Java",
// "Chúc bạn học tốt"};
s=ta1.getText();
try(PrintWriter pw=new
PrintWriter(new FileWriter("C:/BTJV/Test4.txt"))){
//for(int i=0;i<ss.length;i++)
// pw.println(ss[i]);
pw.println(s);
JOptionPane.showMessageDialog(null,"Ghi file thành cơng");
}
catch (IOException e) {
JOptionPane.showMessageDialog(null,e.getMessage());
}
f. Xử lý đọc ghi dữ liệu với Data Stream
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 29/52
- Hỗ trợ đọc ghi các giá trị thuộc kiểu cơ sở và String theo định dạng
nhị phân
- Ghi dữ liệu
double[] gia = { 19.99, 9.99, 15.99 };
int[] soLuong = { 12, 8, 13};
String[] moTa = {“Áo thun",“Túi xách",“Balo“};
try(DataOutputStream out = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("C:/BTJV/Test5.txt")))){
for (int i = 0; i < gia.length; i ++) {
out.writeDouble(gia[i]);
out.writeInt(soLuong[i]);
out.writeUTF(moTa[i]);
}
JOptionPane.showMessageDialog(null,"Ghi file thành cơng");
}
catch (IOException e) {
JOptionPane.showMessageDialog(null,e.getMessage());
}
- Đọc dữ liệu
s="";
try(DataInputStream in = new DataInputStream(
new BufferedInputStream(
new FileInputStream("C:/BTJV/Test5.txt")))){
while (true){
double gia=in.readDouble();
int soLuong=in.readInt();
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 30/52
String moTa=in.readUTF();
s+=String.format("Ban dat %d %s voi gia
%.2f\n",soLuong,moTa,gia);
}
}
catch (FileNotFoundException ex1){
JOptionPane.showMessageDialog(null,"Khong tim thay tap tin");
}
catch (EOFException ex){ }
catch (IOException e) {
JOptionPane.showMessageDialog(null,e.getMessage());
}
finally{
ta1.setText(s);
}
g. Xử lý đọc ghi các đối tượng với Object Stream
- Hỗ trợ đọc ghi các đối tượng
- Các đối tượng phải thực thi interface Serializabless
- Ghi dữ liệu
try(ObjectOutputStream out = new ObjectOutputStream(
new BufferedOutputStream(
new FileOutputStream("C:/BTJV/Test6.txt")))){
NhanVien nv=new NhanVien("Văn Phú Cường",
2.67,5000000,1);
out.writeObject(nv);
nv=new NhanVien("Nguyễn Nam",2.34,3000000,0);
out.writeObject(nv);
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 31/52
JOptionPane.showMessageDialog(null,"Ghi file thành cơng");
}
catch (IOException e) {
JOptionPane.showMessageDialog(null,e.getMessage());
}
- Đọc dữ liệu
s=“”;
try(ObjectInputStream in = new ObjectInputStream(
new BufferedInputStream(
new FileInputStream("C:/BTJV/Test6.txt")))){
NhanVien nv=(NhanVien)in.readObject();
s+=nv.xuat();
nv=(NhanVien)in.readObject();
s+=nv.xuat();
ta1.setText(s);
}
catch (ClassNotFoundException ex){
JOptionPane.showMessageDialog(null,ex.getMessage());
}
catch (IOException e) {
JOptionPane.showMessageDialog(null,e.getMessage());
}
2. Tổng quan về làm việc với tập tin, thư mục
a. Làm việc với đường dẫn tập tin, thư mục
- Xem nội dung module 1 – bài 4 – mục 2
b. Kiểm tra tồn tại tập tin, thư mục
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 32/52
Path p=Paths.get("1.jpg");
if (Files.exists(p))
JOptionPane.showMessageDialog(null,"Cĩ tập tin");
else
JOptionPane.showMessageDialog(null,"Khơng cĩ tập tin");
c. Kiểm tra truy xuất đến tập tin
- Tập tin cho phép đọc: Files.isReadable(path)
- Tập tin cho phép ghi: Files.isWritable(path)
d. Xĩa tập tin
- Xem nội dung module 1 – bài 4 – mục 2
e. Di chuyển tập tin, thư mục
- Sao chép tập tin, thư mục:
Files.copy(fileNguon,fileDich,REPLACE_EXISTING);
- Di chuyển tập tin, thư mục:
Files.move(fileNguon,fileDich,REPLACE_EXISTING);
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 33/52
BÀI 5: Mảng cơ sở
1. Khái niệm mảng
- Xem slide module 1 – bài 5 – mục 1
2. Các kiểu mảng
- Xem slide module 1 – bài 5 – mục 1
3. Mảng một chiều và các thao tác xử lý cơ bản trên mảng một
chiều
a. Khai báo và khởi tạo mảng một chiều
- Xem slide module 1 – bài 5 – mục 2
b. Các thao tác cơ bản trên mảng một chiều
- Xem slide module 1 – bài 5 – mục 2
c. Mảng String
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 34/52
String[] list = { “JAVA”, “C#”, “PHP”};
for (int i=0;i< list.length;i++)
System.out.println(list[i]);
4. Các hàm xử lý khác trên mảng
- Các hàm xử lý:
Arrays.sort
Arrays.fill
Arrays.copyOf
- Ví dụ:
// import java.util.Arrays;
int array[] = { 2, 5, -2, 6, -3, 8, 0, 7, -9, 4 };
int array1[] = { 2, 5, 6, -3, 8};
// Sắp xếp mảng số nguyên
Arrays.sort(array);
// So sánh hai mảng số nguyên array1 và array
array1.equals(array);
// Gán giá trị cho các phần tử trong mảng array1
Arrays.fill(array1, 10); // 10, 10, 10, 10, 10
// Sao chép mảng array1 sang array2
int[] arr2 = Arrays.copyOf(arr1, 6); // 10 10 10 10 10 0
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 35/52
BÀI 6: Giao diện 2
1. Các điều khiển và thể hiện
a. JCheckBox
- Xem slide module 1 – bài 6 – mục 1
b. JRadioButton
- Xem slide module 1 – bài 6 – mục 1
c. GroupBox
- Xem slide module 1 – bài 6 – mục 1
- Kiểm tra xem điều khiển nào trong ButtonGroup đang được chọn
Enumeration elements = group.getElements();
while (elements.hasMoreElements()) {
AbstractButton button = (AbstractButton)elements.nextElement(
);
if (button.isSelected()) {
System.out.println(“Điều khiển đang được chọn
là: " + button.getText());
}
}
d. JcomboBox
- Xem slide module 1 – bài 6 – mục 1
e. JTable
- Xem slide module 1 – bài 6 – mục 1
f. JMenu
- Xem slide module 1 – bài 6 – mục 1
g. JMenuItem
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 36/52
- Xem slide module 1 – bài 6 – mục 1
- Ví dụ: Tạo menu item cĩ thể xác định sự thay đổi trạng thái
JMenuItem item = new JMenuItem("Label") {
public void menuSelectionChanged(boolean isSelected) {
super.menuSelectionChanged(isSelected);
if (isSelected) {
//System.out.println(“Menu item is selected"); }
else {
//System.out.println(“Menu item is unselected");
}
}
};
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 37/52
BÀI 7: Đối tượng
1. Tổng quan lập trình hướng đối tượng
a. Khái niệm lập trình hướng đối tượng
Đặc điểm của lập trình hướng đối tượng
- Xem slide module 1 – bài 7 – mục 1
Ưu điểm của lập trình hướng đối tượng
- Xem slide module 1 – bài 7 – mục 1
b. Các đặc trưng cơ bản của lập trình hướng đối tượng
Tính trừu tượng
- Xem slide module 1 – bài 7 – mục 1
Tính đĩng gĩi
- Xem slide module 1 – bài 7 – mục 1
Tính kế thừa
- Xem slide module 1 – bài 7 – mục 1
2. Xây dựng lớp đối tượng
a. Tạo lớp và đối tượng
- Xem slide module 1 – bài 7 – mục 2
b. Biến thực thể
- Xem slide module 1 – bài 7 – mục 2
- Ví dụ
class TamGiac{
// a, b, c là 3 biến thực thể mơ tả thơng tin 1
//đối tượng thuộc lớp tam giác
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 38/52
public double a,b,c;
}
c. Các chỉ định từ truy xuất:
- Xem slide module 1 – bài 7 – mục 2
d. Phương thức khởi tạo
- Xem slide module 1 – bài 7 – mục 2
e. Phương thức tính tốn xử lý
- Xem slide module 1 – bài 7 – mục 2
- Ví dụ:
Khai báo phương thức tính
chu vi cho lớp tam giác
class TamGiac{
// biến thực thể
public double a,b,c;
// hàm dựng mặc định
public TamGiac() {
}
// phương thức tính chu vi
public double tinhChuVi(){
return a+b+c;
}
}
- Ví dụ
Tính chu vi tam giác
TamGiac t=new TamGiac();
t.a=2;t.b=3;t.c=4;
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 39/52
System.out.printf(“Tam giac (%f,%f,%f)”, t.a,t.b, t.c);
System.out.printf(“Chu vi tam giac: %f”, t.tinhChuVi());
Truyền tham số cho phương thức
- Xem slide module 1 – bài 7 – mục 2
- Ví dụ:
Truyền tham trị
public static void Swap(int a,int b){
int temp=a;a=b;b=temp;
}
public static void main(String args[]){
int a=1,b=2;
System.out.printf(“a=%d, b=%d”,a,b);
Swap(a,b);
System.out.printf(“a=%d, b=%d”,a,b);
}
- Ví dụ:
Truyền tham chiếu
public static void Swap(MyClass
a,MyClass b){
MyClass
temp=a;a=b;b=temp;
}
public static void main(String args[]){
MyClass a=new MyClass(1);
MyClass b=new MyClass(2);
System.out.printf(“a=%d, b=%d”,a.x,b.x);
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 40/52
Swap(a,b);
System.out.printf(“a=%d, b=%d”,a.x,b.x);
}
- Ví dụ:
Truyền tham chiếu
public static void Swap(MyClass a,MyClass b){
MyClass temp=new MyClass(a);
a.x=b.x;b.x=temp.x;
}
public static void main(String args[]){
MyClass a=new MyClass(1);
MyClass b=new MyClass(2);
System.out.printf(“a=%d,
b=%d”,a.x,b.x);
Swap(a,b);
System.out.printf(“a=%d,
b=%d”,a.x,b.x);
}
Phương thức cĩ tham số thay đổi
- Xem slide module 1 – bài 7 – mục 2
- Ví dụ:
public static void Test(int a){
for (int i : a)
System.out.println(i);
}
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 41/52
public static void main(String args[]){
Test(1,2,3,4,5,6);
Test(10,20);
}
3. Package
- Một nhĩm các lớp (classes) và giao diện (interfaces) được tổ chức
thành một đơn vị quản lý theo hình thức khơng gian tên gọi là
package
- Các loại package trong Java:
+ Package được định nghĩa trước
+ Package do người dùng định nghĩa
a. Package được định nghĩa trước
- Xem slide module 1 – bài 7 – mục 3
b. Package do người dùng định nghĩa
- Bổ từ truy xuất
- Xem slide module 1 – bài 7 – mục 3
- Tĩm tắt package
+ Java package là một nhĩm các lớp và giao diện cĩ liên hệ với
nhau được tổ chức thành một đơn vị để quản lý.
+ Package cĩ thể do người dùng tạo ra hoặc do Java tạo sẵn.
+ Lệnh package, nếu sử dụng, phải đặt ở đầu chương trình
+ Lệnh import được dùng để import một hoặc nhiều lớp từ
package vào chương trình
+ Chỉ định từ truy xuất điều khiển việc truy xuất các lớp và sự
nhìn thấy các thành viên của lớp
+ Chỉ định từ truy xuất cho biến và phương thức là các từ khĩa
được dùng để xác định các biến và phương thức cần được khai
báo để điều khiển việc truy xuất từ người dùng
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 42/52
BÀI 8: Sử dụng dịch vụ
1. Khái niệm dịch vụ
Giới thiệu: Web service (www.phpvn.org)
- Xem slide module 1 – bài 8 – mục 1
Giới thiệu: Web service (www.w3schools.com)
- Xem slide module 1 – bài 8 – mục 1
- Hoạt động
2. Sử dụng dịch vụ
- Xem slide module 1 – bài 8 – mục 2
Sử dụng Web Service miễn phí
- Ví dụ: Sử dụng dịch vụ “Tỷ giá” trên Internet để xây dựng ứng dụng
như sau:
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 43/52
+ Đường dẫn:
+ Phương thức hỗ trợ
private String layTyGia() throws IOException {
URL tyGiaUrl = new
URL("");
URLConnection yc = tyGiaUrl.openConnection();
BufferedReader in = new BufferedReader(new
InputStreamReader(
yc.getInputStream()));
String input = in.readLine();
in.close();
return input;
}
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 44/52
BÀI 9: Xử lý biệt lệ trong
Java (bài đọc thêm)
1. Giới thiệu về biệt lệ
- Biệt lệ là một loại lỗi đặc biệt.
- Lỗi này xuất hiện vào lúc thực thi chương trình.
- Các trạng thái khơng bình thường xảy ra trong khi thi hành chương
trình tạo ra các biệt lệ.
- Nguyên nhân phát sinh biệt lệ?
+ Lỗi chương trình
+ Lỗi phía trình khách
+ Lỗi do điều khiển của chương trình
+
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 45/52
- Mục đích của việc xử lý biệt lệ
+ Ngăn việc chương trình bị ngắt đột ngột khi biệt lệ xảy ra
+ Giải phĩng tài nguyên hệ thống cấp phát khi biệt lệ xảy ra
cần cĩ một cơ chế xử lý biệt lệ thích hợp
2. Phân loại biệt lệ
- Biệt lệ được kiểm tra
- Biệt lệ khơng được kiểm tra
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 46/52
3. Xử lý biệt lệ trong Java
a. Sử dụng khối lệnh try catch finaly
try {
Cau_lenh_1;
Cau_lenh_2;
}
catch(ExceptionType TenBien) {
Cau_lenh_0;
}
finally{
Cau_lenh_0
}
- Mơ hình ’catch và throw’ cĩ hai ưu điểm:
+ Người lập trình chỉ phải xử lý ngoại lệ khi cần thiết. Khơng cần
phải thực hiện tại mọi mức.
+ Thơng báo lỗi cĩ thể được hiện ra khi tiến hành xử lý ngoại lệ.
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 47/52
b. Trạng thái luồng thi hành khi gặp biệt lệ
- Sự thi hành của luồng khi gặp biệt lệ
+ Đối tượng biệt lệ
+ Biệt lệ được đẩy ra
+ Lưu vết trên Stack
- Sự thi hành với khối lệnh try-catch
+ Khối lệnh try-catch
+ Bắt biệt lệ
+ Truy xuất Stack
c. Mơ tả việc sử dụng từ khĩa throw, throws
throw ThrowableObject;
- Ví dụ:
public static void main(String args[]){
int x=10,y=5;
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 48/52
try{ System.out.printf(“%d/%d=%d”,x,y,Chia(x,y));
System.out.printf(“%d*%d=%d”,x,y, x*y));
}
catch (Exception e){
System.out.println(“Loi: “+e); }
finally {
System.out.println(“Cau lenh luon duoc thuc hien”);
}
System.out.printf(“%d-%d=%d”,x,y,x-y);
}
// Trường hợp 1: Dutch It
public static int Chia(int x,int y) throws ArithmeticException{
return x/y;
}
// Trường hợp 2: Catch It
public static int Chia(int x,int y) {
int kq=0;
try{
kq=x/y;
}
catch (ArithmeticException e){
System.out.println(“Loi: “+e);
}
return kq;
}
// Nhận xét sự khác biệt trong kết quả của 2 trường hợp?
d. Mơ tả việc sử dụng nhiều khối cacth
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 49/52
- Nhiều khối catch.
- Nhiều Exception.
try{
}
catch (ExceptionType Ten_bien){
}
catch (ExceptionType Ten_bien){
}
- Ví dụ:
public static void main(String args[]){
int x=10,y=5;
try{
System.out.printf(“%d/%d=%d”,x,y,Chia(x,y));
System.out.printf(“%d*%d=%d”,x,y, x*y));
}
catch (ArithmeticException ae) {
System.out.println(“Loi: “+ae); }
catch (Exception e){
System.out.println(“Loi: “+e); }
finally {
System.out.println(“Cau lenh luon duoc thuc hien”);
}
}
4. Biệt lệ do người dùng định nghĩa
a. Khái niệm biệt lệ do người dùng định nghĩa
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 50/52
- Biệt lệ do người dùng định nghĩa phải là lớp con của Exception
- Các bước tạo biệt lệ do người dùng định nghĩa
+ Tạo biệt lệ người dùng
+ Đẩy biệt lệ người dùng ra
b. Tạo biệt lệ do người dùng định nghĩa
class MyException extends Exception{
public String getMessage(String s) {
return “Biet le do nguoi dung dinh nghia: "+s;
}
}
public static void main(String args[]) {
String temp=“Loi";
try{
String str=“Thanh cong";
if(!temp.equals(str))
throw new MyException();
Tài liệu tham khảo
Lập trình viên cơng nghệ Java – module 1 51/52
else
System.out.println(“Hoan tat!");
}
catch(MyException e) {
System.err.println(e.getMessage(temp));
}
catch(Exception e){
System.err.println(e);
}
}
Các file đính kèm theo tài liệu này:
- tailieu.pdf