ỦY BAN NHÂN DÂN TỈNH THANH HÓA
TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP THANH HÓA
GIÁO TRÌNH
MÔN HỌC/MÔ ĐUN: LẬP TRÌNH JAVA
NGÀNH/NGHỀ: CÔNG NGHỆ THÔNG TIN (ƯDPM)
TRÌNH ĐỘ: CAO ĐẲNG
(Ban hành kèm theo quyết định số /QĐ – TCĐCN ngày / / của Hiệu trưởng
trường Cao đẳng Công nghiệp Thanh Hóa)
THANH HÓA, NĂM 2023
TUYÊN BỐ BẢN QUYỀN
Nhằm đáp ứng nhu cầu học tập nghiên cứu cho giảng viên sinh viên nghề
Công nghệ Thông tin (ƯDPM) trong trường Cao đẳng Công nghiệp Thanh Hóa, chúng tôi
đã thực hiện biên soạn tài liệu Lập trình Java
Tài liệu được biên soạn thuộc loại giáo trình phục vụ giảng dạy và học tập, lưu hành
nội bộ trong Nhà trường nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc
trích dùng cho các mục đích về đào tạo và tham khảo.
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu
lành mạnh sẽ bị nghiêm cấm.
LỜI GIỚI THIỆU
Hiện nay, trước xu thế toàn cầu hóa và hội nhập quốc tế vừa tạo ra cơ hội lớn vừa đặt
ra những thách thức không nhỏ cho hệ thống các trường đào tạo nghề. Do đó các trường
cần tạo thương hiệu riêng cho mình bằng cách nâng cao chất lượng đào tạo, xây dựng
thành trường chất lượng cao, đào tạo các nghề theo chuẩn khu vực quốc tế, hướng tới
tạo niềm tin thu hút người học, mở ra cho người học những hội việc làm trong
nước nước ngoài với mức lương hấp dẫn, đồng thời đáp ứng nhu cầu nguồn nhân lực
chất lượng cao phục vụ sự nghiệp công nghiệp hóa, hiện đại hóa đất nước.
Cùng với sự phát triển của khoa học công nghệ trên thế giới, lĩnh vực Công nghệ
thông tin Việt Nam đã những bước phát triển đáng kể. Giáo trình “Lập trình Java”
được biên soạn dựa vào Chương trình khung nghề Công nghệ thông tin (ƯDPM) đã được
nhà trường ban hành. Việc biên soạn giáo trình cần thiết, nhằm tạo điều kiện thuận lợi
cho việc nghiên cứu, giảng dạy của giáo viên và học tập của sinh viên.
Trong quá trình thực hiện, nhóm biên soạn đã tham khảo nhiều tài liệu trong
ngoài nước, kinh nghiệm giảng dạy thực tế tại trường. Mặc rất nhiều cố gắng,
nhưng không tránh khỏi những khiếm khuyết, rất mong nhận được sự đóng góp ý kiến
của các đồng nghiệp, sinh viên và độc giả để giáo trình được hoàn thiện hơn.
Xin chân thành cảm ơn.
Thanh Hóa, ngày 19 tháng 02 năm 2023
Tham gia biên soạn
1. Chủ biên: Lê Ngọc Tâm
2. Thành viên: Lê Văn Linh
3. Thành viên: Chu Thị Hoa Hồng
Contents
Bài 1: GIỚI THIỆU TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH JAVA5
1.1. Giới thiệu về ngôn ngữ lập trình Java...................................................5
1.1.1. Java là gì?.......................................................................................5
1.1.2. Lịch sử phát triển của ngôn ngữ lập trình Java...............................5
1.1.3. Một số đặc điểm nổi bậc của ngôn ngữ lập trình Java Máy ảo Java (JVM - Java
Virtual Machine)...............................................................................................6
1.3.1. Các ứng dụng Java 1.3.1.Java và ứng dụng Console.........................7
1.3.2. Java và ứng dụng Applet................................................................8
1.3.3. Java và phát triển ứng dụng Desktop dùng AWT và JFC..............9
1.3.4. Java và phát triển ứng dụng Web...................................................9
1.3.5. Java và phát triển các ứng dụng nhúng..........................................9
1.2. Chương trình Java đầu tiên...........................................................10
1.2.1. Tạo chương trình nguồn HelloWordApp.........................................10
1.2.1. Biên dịch tập tin nguồn HelloWordApp.......................................11
1.2.2. Chạy chương trình HelloWordApp..............................................11
1.2.3. Cấu trúc chương trình HelloWordApp.........................................11
1.3. Công cụ lập trình và chương trình dịch 1.6.1.J2SDK..................12
1.4. .6.2.Công cụ soạn thảo mã nguồn Java........................................12
Bài 2: SỬ DỤNG CẤU TRÚC ĐIỀU KHIỂN TRONG JAVA...............15
2.1. Khai báo biến, các kiểu dữ liệu, hằng số............................................15
2.1.1. Khai báo biến...................................................................................15
2.1.2. Các kiểu dữ liệu cơ sở......................................................................16
Một số lưu ý đối với các phép toán trên số nguyên:..................................17
2.1.3. Hằng:...............................................................................................19
2.2. Sử dụng câu lệnh if, switch.................................................................22
2.2.1. Cấu trúc điều kiện if … else.............................................................22
2.2.1.2. Cấu trúc switch … case................................................................23
2.3. Cấu trúc lặp.........................................................................................25
2.3.1. Vòng lặp for trong java...................................................................25
2.3.2. Vòng lặp while trong java................................................................25
2.4. Sử dụng câu lệnh break, continue.......................................................26
2.4.1. Sử dụng câu lệnh break.....................................................................26
2.4.2. Sử dụng Continue trong java...........................................................27
Bài 3: LÀM VIỆC VỚI MẢNG DỮ LIỆU...............................................29
3.1. Nhập xuất mảng..................................................................................29
3.1.1 Khái niệm mảng...............................................................................29
3.1.2. Khai báo mảng.................................................................................29
3.1.3. Cấp phát bộ nhớ cho mảng..............................................................30
3.1.4. Khởi tạo mảng..................................................................................30
3.2. Thao tác với mảng..............................................................................30
3.2.1. Truy cập mảng..............................................................................30
3.2.2. Thay đổi một phần tử mảng trong Java...........................................31
3.2.3. Độ dài mảng trong Java...................................................................31
3.2.4. Duyệt các phần tử của mảng trong Java..........................................31
3.2.4.1.Sử dụng vòng lặp for..................................................................31
3.2.4.2. Sử dụng foreach........................................................................32
3.2.4.3. Sắp xếp mảng............................................................................32
dụ 1: Viết chương trình nhập số nguyên n>0, sau đó cho xuất ra
màn hình lập phương từng phần tử của dãy số từ 1 đến n.....33
3.2.4.4. Một số phương thức cho mảng 1 chiều.........................................34
3.3. Sử dụng hàm về chuỗi ký tự trong Java...........................................36
Bài tập về mảng trong java....................................................................38
Bài 4: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG.............................................40
4.1. Khai báo lớp........................................................................................40
4.1.1.Khái niệm..........................................................................................40
4.1.2. Khai báo/định nghĩa lớp...............................................................40
4.2. Sử dụng lớp..........................................................................................41
4.2.1. Thuộc tính của lớp............................................................................41
4.2.2. Hàm - Phương thức lớp (Method)................................................42
4.2.3. Khởi tạo một đối tượng (Constructor)..............................................43
4.2.4. Biến this............................................................................................44
4.3.Tính kế thừa (inheritance)....................................................................45
4.3.1. Khái báo phương thức chồng............................................................45
4.3.2 Lớp nội.........................................................................................46
4.3.3 Lớp vô sinh........................................................................................47
4.3.4 Lớp trừu tượng...................................................................................47
4.3.5 Phương thức finalize().......................................................................48
Bài 5: THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG.......................................50
5.1. Sử dụng các thành phần.......................................................................50
5.1.1. Mở đầu..............................................................................................50
5.1.2. Giới thiệu thư viện awt.....................................................................50
5.2. Sử dụng các thành phần......................................................................51
5.2.1.Component.........................................................................................51
java.awt.Component................................................................................51
5.2.2.Container...........................................................................................51
Một số đối tượng container trong Java:................................................51
5.2.3.Layout Manager.................................................................................52
5.3. Sử dụng các khung chứa.....................................................................53
5.3.1.Tạo khung chứa cửa sổ chương trình................................................53
Ví dụ:.........................................................................................................53
5.3.2. Tạo hệ thống thực đơn......................................................................53
5.3.3. Gắn Component vào khung chứa.....................................................55
Ví dụ:.........................................................................................................55
5.3.4. Trình bày các Component trong khung chứa...................................55
5.3.4.1. FlowLayout....................................................................................56
Ví dụ:.........................................................................................................56
5.3.4.2. BorderLayout.................................................................................57
Ví dụ:.........................................................................................................57
5.3.4.3. GridLayout.....................................................................................58
Ví dụ:.........................................................................................................58
5.3.4.4. GridBagLayout..............................................................................59
5.3.4.5. Null Layout....................................................................................61
Ví dụ:.........................................................................................................62
5.3.4.6. Các đối tượng khung chứa Container............................................63
5.4. Xử lý biến cố/sự kiện..........................................................................63
5.4.1. Mô hình xử lý sự kiện (Event-Handling Model)..............................63
Những lớp sự kiện của gói java.awt.event.............................................63
Những interfaces lắng nghe của gói java.awt.event..............................64
5.4.2. Xử lý sự kiện chuột...........................................................................64
5.4.3. Xử lý sự kiện bàn phím....................................................................67
Một số ví dụ minh họa.............................................................................69