Tải bản đầy đủ (.pdf) (91 trang)

Giáo trình Lập trình Java (Ngành: Hệ thống thông tin) - CĐ Kinh tế Kỹ thuật TP.HCM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.61 MB, 91 trang )

ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH


GIÁO TRÌNH
MƠN HỌC: LẬP TRÌNH JAVA
NGÀNH: HỆ THỐNG THƠNG TIN
TRÌNH ĐỘ: CAO ĐẲNG
(Ban hành kèm theo Quyết định số:
/QĐ-CĐKTKT
ngày
tháng
năm 20
của Hiệu trưởng Trường
Cao đẳng Kinh tế - Kỹ thuật Thành phố Hồ Chí Minh)

Thành phố Hồ Chí Minh, năm 2020


ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH


GIÁO TRÌNH
MƠN HỌC: LẬP TRÌNH JAVA
NGÀNH: HỆ THỐNG THƠNG TIN
TRÌNH ĐỘ: CAO ĐẲNG
THÔNG TIN CHỦ NHIỆM ĐỀ TÀI
Họ tên: Thái Thị Ngọc Lý


Học vị: Thạc sĩ
Đơn vị: Khoa Công nghệ thông tin
Email:
TRƯỞNG KHOA

TỔ TRƯỞNG
BỘ MƠN

CHỦ NHIỆM
ĐỀ TÀI

HIỆU TRƯỞNG
DUYỆT

Thành phố Hồ Chí Minh, năm 2020


BM31/QT02/NCKH&HTQT

TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình 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.


BM31/QT02/NCKH&HTQT

LỜI GIỚI THIỆU
Giáo trình được biên soạn nhằm hỗ trợ tài liệu cho học sinh, sinh viên học mơn

Lập trình Java. Giáo trình gồm bốn phần chính giới thiệu về lịch sử java, các khái
niệm cơ bản trong java, thiết kế giao diện và lập trình cơ sở dữ liệu với ngôn ngữ java.
Phần mềm được dùng để học ngôn ngữ Java là NetBean được sử dụng trong giáo trình
này.
Học xong mơn học này, học sinh và sinh viên có thể tạo được một chương trình
java cơ bản trong console, thiết kế được giao diện ứng dụng dành cho desktop và kết
nối được cơ sở dữ liệu cho ứng dụng.
Xin cám ơn.

…………., ngày……tháng……năm………
Tham gia biên soạn
Chủ biên


BM31/QT02/NCKH&HTQT

MỤC LỤC
GIÁO TRÌNH MƠN HỌC .................................................................................................. 6
CHƯƠNG 1:

TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH JAVA ............................ 7

1.1 Lịch sử ra đời của java .................................................................................................. 7
1.2 Đặc điểm ngôn ngữ lập trình Java ................................................................................. 7
1.3 Các cơng nghệ của Java ................................................................................................ 8
1.4 Các ứng dụng của Ngơn ngữ lập trình Java ................................................................... 9
1.5 Java Core API - Môi trường làm việc của java ............................................................ 10
1.6 Cài đặt và hướng dẫn sử dụng NetBeans ..................................................................... 10
CHƯƠNG 2:


LẬP TRÌNH CƠ BẢN VỚI JAVA........................................................ 12

2.1 Kiến trúc Java ............................................................................................................. 12
2.2 Các kiểu dữ liệu .......................................................................................................... 13
2.3 Các toán tử ................................................................................................................. 14
2.4 Các cấu trúc điều khiển ............................................................................................... 16
2.5 Mảng, chuỗi, lớp bao kiểu dữ liệu cơ sở ...................................................................... 21
2.6 Xử lý ngoại lệ ............................................................................................................. 27
2.7 Lập trình luồng nhập xuất ........................................................................................... 28
CHƯƠNG 3:

XÂY DỰNG GIAO DIỆN NGƯỜI DÙNG ........................................... 34

3.1 Cấu trúc chung của giao diện ...................................................................................... 34
3.2 Giới thiệu gói AWT và Swing .................................................................................... 36
3.3 Trình quản lý giao diện – Layout ................................................................................ 38
3.5 Các thành phần giao diện cơ bản ................................................................................. 55
3.6 Xử lý sự kiện giao diện người dùng ............................................................................ 60
CHƯƠNG 4:

LẬP TRÌNH CƠ SỞ DỮ LIỆU ............................................................. 69

4.1 Giới thiệu JDBC ......................................................................................................... 69
4.2 Kiến trúc JDBC .......................................................................................................... 69
4.3 Lập trình kết nối đến CSDL ........................................................................................ 72
4.4 Thao tác xử lý trên CSDL ........................................................................................... 74
DANH MỤC HÌNH ẢNH .................................................................................................. 88
DANH MỤC BẢNG ........................................................................................................... 91



BM31/QT02/NCKH&HTQT

GIÁO TRÌNH MƠN HỌC
Tên mơn học: LẬP TRÌNH JAVA
Mã mơn học: MH3101348
Thời gian thực hiện môn học: 75 giờ; (Lý thuyết: 15 giờ; Thực hành: 56 giờ; Kiểm
tra: 4 giờ)
Đơn vị quản lý môn học: Khoa Công Nghệ Thông Tin.
I. Vị trí, tính chất của mơn học:
- Vị trí: là mơn học chun ngành, học kỳ 4.
- Tính chất: mơn lý thuyết, môn học bắt buộc.
II. Mục tiêu môn học:
- Về kiến thức:
+ Trình bày được các khái niệm cơ bản về ngơn ngữ lập trình Java.
+ Mơ tả các thành phần của trong ngơn ngữ lập trình Java (kiểu dữ liệu, tốn tử,
cấu trúc điều khiển, v.v...)
+ Trình bày chức năng và cơng dụng của các gói dùng để tạo giao diện trên
Java.
+ So sánh ưu, nhược điểm của ngơn ngữ lập trình Java với những ngơn ngữ lập
trình.
- Về kỹ năng:
+ Tạo chương trình Java console đơn giản.
+ Xây dựng chương trình Java có sử dụng giao diện đồ họa người dùng (GUI).
+ Xây dựng ứng dụng quản lý đơn giản trên Java có sử dụng cơ sở dữ liệu.
- Về năng lực tự chủ và trách nhiệm:
+ Nhận thức được tầm quan trọng của ngôn ngữ lập trình Java khi phát triển
ứng dụng.
+ Nâng cao năng lực tự nghiên cứu, tự tìm hiểu trong quá trình học tập.



Chương 1: Tổng quan về ngơn ngữ lập trình Java

CHƯƠNG 1:

TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH JAVA

Giới thiệu:
Giới thiệu tiểu sử của ngơn ngữ lập trình Java, đặc điểm, cơng nghệ Java.
Mục tiêu:
- Biết được lịch sử hình thành ngôn ngữ Java.
- Biết được các đặc điểm của ngôn ngữ Java.
- Cài đặt và sử dụng được NetBeans.
1.1 Lịch sử ra đời của java
Java là một ngôn ngữ lập trình và là một nền tảng. Java là một ngơn ngữ cấp cao,
mạnh mẽ, hướng đối tượng và an toàn.
Năm 1991, ngơn ngữ lập trình Java có tên là Oak do tập đồn Sun Microsystem phát
triển đó là một ngơn ngữ được kế thừa từ C/C++. James Gosling là cha đẻ của ngôn
ngữ này.
Năm 1995, được đổi tên thành ngôn ngữ lập trình Java bởi vì tại thời điểm đó thì Oak
đã được thơng báo là đã bị đăng ký bản quyền nhãn hiệu. Java là tên một hòn đảo của
Indonesia đây là một hòn đảo nổi tiếng về Coffee Peet và các loại đồ uống dành cho
các kỹ sư của Sun.
Năm 2010, hãng Oracle đã mua lại Sun Microsystem.
Nền tảng là bất kỳ môi trường phần cứng hoặc phần mềm nào mà trên đó một chương
trình hoặc phần mềm chạy. Vì Java có mơi trường runtime (JRE) và API nên nó được
gọi là nền tảng.
1.2 Đặc điểm ngơn ngữ lập trình Java
Ngơn ngữ Java có các đặc trưng:
– Đơn giản: Java đã cải tiến dễ dàng hơn bằng cách loại bỏ tất cả các phức tạp như
con trỏ, các toán tử, phương thức nạp chồng (overload)như bạn thấy trong C ++ hoặc

bất kỳ ngơn ngữ lập trình nào khác.
– Hướng đối tượng: Mọi thứ được coi là một đối tượng khác nhau, có sở hữu các
thuộc tính và tất cả các hoạt động được thực hiện bằng cách sử dụng các đối tượng
này.
– Độc lập: Java độc lập với nền tảng, có nghĩa là mọi ứng dụng được viết trên một nền
tảng đều có thể dễ dàng chuyển sang nền tảng khác.

KHOA CÔNG NGHỆ THÔNG TIN

7


Chương 1: Tổng quan về ngơn ngữ lập trình Java
– Mạnh mẽ: Java có một hệ thống quản lý bộ nhớ mạnh. Nó giúp loại bỏ lỗi vì nó
kiểm tra Code trong quá trình biên dịch và runtime.
– Bảo mật: Tất cả các mã được chuyển đổi sang byteCode sau khi biên dịch, không
thể đọc được bởi con người và chạy các chương trình bên trong Sandbox để ngăn chặn
mọi hoạt động từ các nguồn khơng đáng tin cậy. Nó cho phép phát triển các hệ thống /
ứng dụng không có virus, giả mạo.
– Phân tán: Java cung cấp một tính năng giúp tạo các ứng dụng phân tán. Sử dụng
phương thức từ xa(RMI), một chương trình có thể gọi một phương thức của một
chương trình khác thơng qua và nhận được đầu ra. Bạn có thể truy cập các file bằng
cách gọi các phương thức từ bất kỳ máy nào trên internet.
– Đa luồng: Java hỗ trợ nhiều luồng thực thi, bao gồm một tập hợp các nguyên hàm
đồng bộ hóa. Điều này làm cho lập trình với các chủ đề dễ dàng hơn nhiều.
– Linh hoạt: Nó có khả năng thích ứng với mơi trường phát triển hỗ trợ cấp phát bộ
nhớ động do giảm lãng phí bộ nhớ và hiệu suất của ứng dụng được tăng lên.
– Hiệu suất cao: Java đạt được hiệu suất cao thông qua việc sử dụng byteCode có thể
dễ dàng dịch sang mã máy. Với việc sử dụng các trình biên dịch JIT (Just-In-Time),
Java mang lại hiệu năng cao.

– Thông dịch: Java được biên dịch thành byteCode, được thông dịch bởi môi trường
Java run-time.
1.3 Các công nghệ của Java
1. JVM (Java Virtual Machine)
JVM là máy ảo giúp máy tính chạy các chương trình Java. Đây là mơi trường giúp cho
byteCode java có thể thực thi.
Nó là một cỗ máy trừu tượng. Đây là một đặc tả cung cấp một môi trường thời gian
chạy trong đó mã byte Java có thể được thực thi. Nó theo ba ký hiệu:
– Specification: Đây là một tài liệu mô tả việc triển khai máy ảo Java. Nó được cung
cấp bởi Sun và các cơng ty khác.
– Implementation (Triển khai): Đây là một chương trình đáp ứng các yêu cầu của đặc
tả JVM.
– Instance Runtime: Một thể hiện của JVM được tạo bất cứ khi nào bạn viết lệnh java
trên dấu nhắc lệnh và chạy các lớp.
2. JRE (Java Runtime Environment)
JRE (là viết tắt của Java Runtime Environment) được sử dụng để cung cấp môi trường
để các byteCode có thể thực thi. Nó là trình triển khai của JVM và cung cấp các lớp
KHOA CÔNG NGHỆ THÔNG TIN

8


Chương 1: Tổng quan về ngơn ngữ lập trình Java
thư viện hoặc các file khác mà JVM sử dụng khi chạy. Vì vậy, JRE là gói phần mềm
chứa những gì được yêu cầu để chạy chương trình Java. Về cơ bản.
3. JDK (Bộ phát triển Java)
Đây là công cụ cần thiết để:
– Biên dịch
– Tài liệu
– Đóng gói chương trình Java.

JDK bao gồm JRE và các Development Tool các công cụ lập trình cho các lập trình
viên Java. Bộ cơng cụ phát triển Java được cung cấp miễn phí. Cùng với JRE, nó bao
gồm trình thơng dịch / trình tải, trình biên dịch (javac), trình lưu trữ (jar), trình tạo tài
liệu (Javadoc) và các công cụ khác cần thiết trong phát triển Java. Nói tóm lại, nó chứa
các cơng cụ phát triển JRE +.

Hình 1.1: JDK - Nguồn [4]

1.4 Các ứng dụng của Ngơn ngữ lập trình Java
Sử dụng lập trình ngơn ngữ Java để tạo ra 4 loại ứng dụng sau:
1) Standalone Application
Ứng dụng Standalone là các ứng dụng dành cho desktop hoặc ứng dụng dựa trên hệ
điều hành window. Các phần mềm này cần phải được cài vào trên mỗi máy tính. Ví dụ
cho ứng dụng Standalone là Media player, antivirus, etc. AWT and Swing trong Java
được dùng để tạo ứng dụng standalone.
KHOA CÔNG NGHỆ THÔNG TIN

9


Chương 1: Tổng quan về ngơn ngữ lập trình Java
2) Web Application
Web application là các ứng dụng trang web động được chạy trên server. Hiện nay, các
công nghệ Servlet, JSP, Struts, Spring, Hibernate, JSF, … được dùng để tạo ra các ứng
dụng web.
3) Enterprise Application
Enterprise applications được gọi là ứng dụng doanh nghiệp. Một ứng dụng được phân
phối trong các hoạt động kinh doanh, chẳng hạn như ứng dụng ngân hàng, v.v. Nó có
ưu điểm là bảo mật cấp cao, cân bằng tải và phân cụm. Trong Java, EJB được sử dụng
để tạo các ứng dụng doanh nghiệp.

4) Mobile Application
Mobile application là ứng dụng được tạo ra dành cho thiết bị di động. Hiện nay,
Android and Java ME được sử dụng để tạo ra các ứng dụng di động.
1.5 Java Core API - Môi trường làm việc của java
API là các phương thức, giao thức kết nối với các thư viện và ứng dụng khác. Nó là
viết tắt của Application Programming Interface – giao diện lập trình ứng dụng. API
cung cấp khả năng cung cấp khả năng truy xuất đến một tập các hàm hay dùng. Và từ
đó có thể trao đổi dữ liệu giữa các ứng dụng.
API có các loại sau:


Web API: là hệ thống API được sử dụng trong các hệ thống website. Hầu hết
các website đều ứng dụng đến Web API cho phép bạn kết nối, lấy dữ liệu
hoặc cập nhật cơ sở dữ liệu. Ví dụ: Bạn thiết kế chức nằng login thông
Google, Facebook, Twitter, Github… Điều này có nghĩa là bạn đang gọi đến
API của. Hoặc như các ứng dụng di động đều lấy dữ liệu thông qua API.



API trên hệ điều hành: Windows hay Linux có rất nhiều API, họ cung cấp
các tài liệu API là đặc tả các hàm, phương thức cũng như các giao thức kết
nối. Nó giúp lập trình viên có thể tạo ra các phần mềm ứng dụng có thể
tương tác trực tiếp với hệ điều hành.



API của thư viện phần mềm hay framework: API mô tả và quy định các
hành động mong muốn mà các thư viện cung cấp. Một API có thể có nhiều
cách triển khai khác nhau và nó cũng giúp cho một chương trình viết bằng
ngơn ngữ này có thể sử dụng thư viện được viết bằng ngơn ngữ khác. Ví dụ

bạn có thể dùng Php để yêu cầu một thư viện tạo file PDF được viết bằng
C++.

1.6 Cài đặt và hướng dẫn sử dụng NetBeans
KHOA CÔNG NGHỆ THÔNG TIN

10


Chương 1: Tổng quan về ngơn ngữ lập trình Java
NetBeans IDE là một cơng cụ hỗ trợ lập trình viết mã code miễn phí được cho là tốt
nhất hiện nay, được sử dụng chủ yếu cho các lập trình viên phát triển Java tuy nhiên
phần mềm có dung lượng khá là nặng dành cho các máy cấu hình có RAM, CPU
tương đối cao để vận hành.
NetBeans IDE là môi trường phát triển tích hợp và cực kỳ cần thiết cho các lập trình
viên, cơng cụ này có thể hoạt động tốt với rất nhiều nền tảng hệ điều hành khác nhau
như Linux, Windows, MacOS,... là một mã nguồn mở cung cấp các tính năng cần thiết
nhất nhăm tại ra các ứng dụng web, thiết bị di động, desktop. Cũng giống
như Eclipse vậy, NetBeans IDE hỗ trợ rất nhiều những ngôn ngữ lập trình
như Python, Ruby, JavaScript, Groovy, C / C + +, và PHP.
Qua nhiều phiên bản cũ, nay công cụ lập trình NetBeans IDE đã cập nhật lên phiên
bản 8.2 mới nhất có rất nhiều thay đổi và nâng cấp so với các phiên bản cũ hơn có thể
kể đến như:


Nâng cao ngơn ngữ lập trình C và C++.



Nâng cấp, cải tiến các công cụ soạn thảo Profiler và Java.




Hỗ trợ Docker, PHP 7.



ECMAScript 6 và hỗ trợ thử nghiệm ECMAScript 7.



Nâng cấp, cải tiến HTML 5 và Javascript.

Để có thể cài đặt được NetBeans IDE các bạn phải cài đặt và cấu hình sẵn JDK trong
máy thì mới cài đặt được. NetBean IDE được chia thành nhiều gói khác nhau để
người dùng có thể tải về từng phần, tiết kiệm dung lượng, tùy theo nhu cầu của mình.
Giống với Notepad++, NetBean IDE có gợi ý cú pháp khá tốt, và cịn nhiều tính năng
khá thú vị như tự động căn chỉnh mã nguồn, Remote FTP, SVN …. Chính vì thế, nó
được xem là mơi trường phát triển khơng thể bỏ qua cho các lập trình viên. Nếu bạn
nào đang sử dụng NetBeans IDE các bạn có thể download thêm Notepad++ để tạo nên
bộ đôi soạn thảo văn bản lập trình cực kỳ hiệu quả và thơng minh.
Tải phần mềm về máy tại />Hướng dẫn cài đặt NetBeans xem tại
/>
KHOA CÔNG NGHỆ THÔNG TIN

11


Chương 2: Lập trình cơ bản Java


CHƯƠNG 2:

LẬP TRÌNH CƠ BẢN VỚI JAVA

Giới thiệu:
Chương 2 trình bày kiến trúc java, giới thiệu kiểu dữ liệu, các lệnh cấu trúc và luồng
nhập xuất.
Mục tiêu:
-

Khai báo được kiểu dữ liệu,

-

Thực thi được một chương trình java,

-

Sử dụng được các lệnh cấu trúc để giải quyết bài tập,

-

Sử dụng được luồng nhập xuất vào bài tập.

2.1 Kiến trúc Java
Khác với ngôn ngữ lập trình khác, thay vì biên dịch mã nguồn thành mã máy, Java
được thiết kế biên dịch mã nguồn thành bytecode. Bytecode sau đó được mơi trường
thực thi chạy.
Ví dụ: tạo tập tin LapTrinhJava.java có nội dung mã sau


LapTrinhJava.java

Hình 2.1: Ví dụ nội dung cơ bản của tập tin Java

KHOA CÔNG NGHỆ THÔNG TIN

12


Chương 2: Lập trình cơ bản Java
hotec: tên gói (package) chứa lớp. Đặt tên gói phải sử dụng ký tự thường và dấu
chấm. Có thể xem package như folder cịn class như file.
LapTrinhJava: tên lớp. Tên lớp phải giống tên tập tin java. Viết hoa ký tự đầu của mỗi
từ.
main(): phương thức bắt đầu chạy. Lớp có thể có nhiều phương thức nhưng chỉ có
một main() và main() được gọi tự động khi ứng dụng chạy.
LapTrinhJava.java dùng lệnh javac thì sẽ tạo ra một tập tin .class, tập tin .class này là
dạng bytecode. Quá trình chuyển từ tập tin .java sang tập tin .class là quá trình biên
dịch. Để tập tin .class có thể chạy được cần có một runtime environment đó là Java
Virtual Machine (JVM). JVM sẽ thơng dịch các đoạn bytecode (tập tin .class) và tạo
ra machine code có thể chạy được trên các hệ điều hành.
JVM tải toàn bộ class lên RAM bao gồm class của tập tin và class thư viện được sử
dụng để khởi tạo ứng dụng. Sau đó, bytecode verifier sẽ kiểm tra lại các bytecode vừa
tạo có hợp lệ khơng. Tiếp theo, JVM sẽ thông dịch bytecode sang mã máy và chạy.
Java sẽ thơng dịch bytecode, vậy thì mỗi thao tác thực hiện được lặp đi lặp lại như các
class common hay util thường xuyên được sử dụng sẽ phải thông dịch mỗi khi chạy.
Thế thì ứng dụng chạy chậm lắm. Tại sao lại khơng biên dịch các class đó sau đó
dùng lại. Thế là Just In Time Compiler (JIT Compiler) ra đời. JIT Compiler nó sẽ biên
dịch các bytecode đã được thực thi trong JVM và cache lại. Mỗi khi gọi đến các lệnh
đã được thực thi trước đó thì sẽ gọi vào cache trong JIT Compiler. Quá trình này tiết

kiệm tài nguyên và thời gian thực thi các lệnh.

2.2 Các kiểu dữ liệu
Kiểu dữ liệu chia làm hai nhóm:
-

Kiểu dữ liệu cơ sở gồm có byte, short, int, long, float, double, boolean and char

-

Kiểu dữ liệu không cơ sở String, Arrays and Classes.

Bảng 2.1: Kiểu dữ liệu

Kiểu dữ liệu

Kích thước

Khả năng lưu trữ

byte

1 byte

-128 đến 127

short

2 bytes


-32,768 đến 32,767

int

4 bytes

-2,147,483,648
2,147,483,647

long

8 bytes

-

KHOA CÔNG NGHỆ THÔNG TIN

đến

13


Chương 2: Lập trình cơ bản Java
9,223,372,036,854,775,808
đến
9,223,372,036,854,775,807
float

4 bytes


lưu từ 6 đến 7 ký số thập
phân

double

8 bytes

Lưu được 15 ký số thập
phân

boolean

1 bit

true or false

char

2 bytes

Lưu 1 ký tự hoặc giá trị
trong bảng ASCII

Ép kiểu dữ liệu
Ép kiểu dữ liệu có hai hình thức. Đó là, ép kiểu tự động và ép kiểu tường minh.
Ép kiểu tự động chỉ dùng cho kiểu dữ liệu cơ sở. Ép kiểu dữ liệu cơ sở theo thứ tự byte
 short  char  int  long  float  double.
Ép kiểu tường mình là cần phải khai báo.
Ví dụ:
int x = 3;

double y=7.8;
y = x;//ép kiểu tự động
x=(int)y;//ép kiểu tường minh, phần thập phân sẽ bị bỏ

2.3 Các toán tử
Toán tử số học
Bảng 2.2: Tốn tử số học

Tốn tử

Diễn giải

Ví dụ

+

Phép cộng

x+y

-

Phép trừ

x-y

*

Phép nhân


x*y

/

Phép chia

x/y

KHOA CÔNG NGHỆ THÔNG TIN

14


Chương 2: Lập trình cơ bản Java
%

Phép lấy số dư

x%y

++

Tăng một đơn vị

++x

--

Giảm một đơn vị


--x

Tốn tử

Diễn giải

Ví dụ

==

Phép bằng

x==y

!=

Phép khác

x!=y

>

Lớn hơn

x>y

<

Nhỏ hơn


x
>=

Lớn hơn bằng

x>=y

<=

Nhỏ hơn bằng

x<=y

Tốn tử

Diễn giải

Ví dụ

&&



x < 5 && x < 10

||

Hoặc


x < 5 || x < 4

!

Phủ định

!(x < 5 && x < 10)

Toán tử so sánh
Bảng 2.3: Toán tử so sánh

Toán tử luận lý (logic)
Bảng 2.4: Toán tử luận lý

Toán tử điều kiện
Toán tử điều kiện là tốn tử 3 ngơi duy nhất trong ngôn ngữ Java
Cú pháp:
<điều kiện> ? <giá trị đúng> : <giá trị sai>
Diễn giải:
Nếu biểu thức <điều kiện> có giá trị là true thì kết quả của biểu thức là đúng>, ngược lại là <giá trị sai>.
KHOA CÔNG NGHỆ THÔNG TIN

15


Chương 2: Lập trình cơ bản Java
Ví dụ: tìm số lớn nhất của 2 số a và b
int a = 1, b = 9;
int max = a > b ? a : b;


2.4 Các cấu trúc điều khiển
Cấu trúc lựa chọn
IF… ELSE
Cú pháp:
if (biểu thức điều kiện 1){
//khối lệnh 1
}
else if (biểu thức điều kiện 2){
//khối lệnh 2
}

else {
//khối lệnh N
}
Ý nghĩa: Chương trình sẽ kiểm tra từ điều kiện từ 1 đến N -1 nếu gặp điều kiện i đầu
tiên có giá trị true thì sẽ thực hiện cơng việc i, ngược lại sẽ thực hiện cơng việc N.
Ví dụ 1: Xét điểm trung bình. Nếu lớn hơn 5 thì thơng báo “Đậu”.
double dtb= 7;
if(dtb>=5)
System.out.println("Đậu.");
Trong ví dụ 1, nếu dtb nhỏ hơn 5 thì
khơng xuất bất kỳ thơng báo gì ra màn hình.

Hình 2.2: Kết quả Ví dụ

Ví dụ 2: Xét điểm trung bình. Nếu lớn hơn 5 thì thơng báo “Đậu”, ngược lại thì thơng
báo “Rớt”.
double dtb= 4;
if(dtb>=5)

System.out.println("Đậu.");
KHOA CƠNG NGHỆ THƠNG TIN

Hình 2.3: Kết quả ví dụ
16


Chương 2: Lập trình cơ bản Java
else
System.out.println("Rớt.");
Ví dụ 3: Viết chương trình tính thuế thu nhập. Giả sử thu nhập gồm lương và thưởng.
Thuế thu nhập được tính như sau:
Bậc thuế

Phần thu nhập tính thuế/tháng (triệu đồng)

Thuế suất (%)

1

Đến 5

5

2

Trên 5 đến 10

10


3

Trên 10 đến 18

15

4

Trên 18 đến 32

20

5

Trên 32 đến 52

25

6

Trên 52 đến 80

30

7

Trên 80

35


SWITCH
Cú pháp
switch (biểu thức điều kiện)
{
case giá trị 1:
// khối lệnh 1
break;
case giá trị 2:
// khối lệnh 2
break;

default:
KHOA CÔNG NGHỆ THÔNG TIN

17


Chương 2: Lập trình cơ bản Java
// khối lệnh N
break;
}
Ý nghĩa: switch là các trường hợp xảy ra của một biểu thức điều kiện.
So sánh giá trị của biểu thức switch với giá trị của các case. Nếu bằng với giá
trị của case nào thì sẽ thực hiện cơng việc của case đó, ngược lại sẽ thực
hiện cơng việc của default.
Nếu cơng việc của case khơng chứa lệnh break thì case tiếp sau sẽ được
thực hiện.
default là tùy chọn.
Ví dụ 1: Viết chương trình máy tính cơ bản cho các phép toán +, -, *, /.
double a = 5, b = 7, c = -1;

char phep_toan = “+”;
switch(phep_toan){
case “+”:
c = a + b;
break;
case “-”:
c = a - b;
break;
case “*”:
c = a + b;

thiếu break

case “/”:
c = a - b;
break;
default:
System.out.println(“Vui lòng chọn +, -, x và :”);
break;
KHOA CÔNG NGHỆ THÔNG TIN

18


Chương 2: Lập trình cơ bản Java
}
Ví dụ 2: Nhập tháng và năm, xuất số ngày của tháng đó.
Gợi ý:
-


Nhập tháng

-

Nhập năm

-

Dùng switch để kiểm tra tháng, xuất ngày theo từng tháng

-

Đối với tháng 2, kiểm tra năm có nhuần thì ngày là 29, ngược lại là 28.

Ví dụ 3: Viết chương trình tính thuế thu nhập. Biết cách tính thuế suất như sau:
Bậc

Lương

Thuế suất

1

5 triệu

5%

2

Trên 5 triệu đến 10 triệu


10%

3

Trên 10 triệu đến 18 triệu

15%

4

Trên 18 triệu đến 32 triệu

20%

5

Trên 32 triệu đến 52 triệu

25%

6

Trên 52 triệu đến 80 triệu

30%

7

Trên 80 triệu


35%

Vòng lặp
Ý nghĩa: vòng lặp dùng để làm cho một khối lệnh được gọi lại nhiều lần.
FOR
Cú pháp:
for (khởi tạo ; điều kiện; bước nhảy){
// lệnh
}
Ý nghĩa: Vòng lặp bắt đầu với khởi tạo và dừng khi điều kiện khơng thỏa mãn. Nếu
thỏa mãn điều kiện thì vịng lặp tiếp tục thực hiện với giá trị mới bằng giá trị cũ cộng
bước nhảy.
Ví dụ: Viết chương trình xuất ra số 1 đến 19.
KHOA CÔNG NGHỆ THÔNG TIN

19


Chương 2: Lập trình cơ bản Java
for(int i=1;i<20;i++){
System.out.printf(“Số %d.”,i);
}
WHILE
Cú pháp:
while (điều kiện) {
// lệnh
}
Ý nghĩa: Thực hiện công việc trong khi biểu thức điều kiện có giá trị là true.
Ví dụ: Viết chương trình xuất ra số 1 đến 19.

int i = 1;
while (i < 20) {
System.out.println(“Số %d.”,i);
i++;
}
DO…WHILE
Cú pháp:
do {
// công việc
}
while (điều kiện);
Ý nghĩa: Tương tự lệnh lặp while chỉ khác ở chỗ điều kiện được kiểm tra sau, nghĩa là
cơng việc được thực hiện ít nhất 1 lần.
Ví dụ: Viết chương trình chỉ cho nhập số nguyên dương.
int so = -1;
do {
so = scanner.nextDouble();
}
while (so < 0);
KHOA CÔNG NGHỆ THÔNG TIN

20


Chương 2: Lập trình cơ bản Java
LỆNH BREAK & CONTINUE
-

break dùng để ngắt lệnh lặp.


-

continue dùng để thực hiện lần lặp tiếp theo ngay lặp tức.

Ví dụ: Viết chương trình kiểm tra điểm nhập vào trong khoản 0..10.
int diem = 0;
while(true){
diem = scanner.nextInt();
if(diem >= 0 && diem <=10){
break;
}
System.out.println(“Điểm phải từ 0 đến 10”);
}
Ví dụ: Viết chương trình xuất ra từ 1 đến 5 nhưng không xuất giá trị 3.
int count;
for (count = 1; count < 6; count++) {
if (count == 3) {
continue;
Hình 2.4: Kết quả

}
System.out.printf("%d ",count);
}

2.5 Mảng, chuỗi, lớp bao kiểu dữ liệu cơ sở
MẢNG
Ý nghĩa: Mảng là cấu trúc lưu trữ nhiều phần tử có cùng kiểu dữ liệu.

Hình 2.5: Mảng - Nguồn [3]


Các thành phần của mảng:
-

Chỉ số (index/indeces): cho biết vị trí của phẩn tử trong mảng. Chỉ số mảng bắt
đầu là 0.

-

Giá trị phần tử (Elements).

KHOA CÔNG NGHỆ THÔNG TIN

21


Chương 2: Lập trình cơ bản Java
Các cơng việc làm với mảng:
-

Khai báo

-

Truy xuất (đọc/ghi) phần tử

-

Lấy số phần tử (chiều dài của mảng)

-


Duyệt mảng

-

Sắp xếp các phần tử mảng

Khai báo mảng
Khai báo không khởi tạo
int[] a; // mảng số nguyên chưa biết số phần tử
int b[]; // mảng số nguyên chưa biết số phần tử
String[] c = new String[5]; // mảng chứa 5 chuỗi
Khai báo có khởi tạo
// mảng số thực, 5 phần tử, đã được khởi tạo
double[] d1 = new double[]{2, 3, 4, 5, 6};
// mảng số thực, 5 phần tử, đã được khởi tạo
double[] d2 = {2, 3, 4, 5, 6};
Truy xuất (đọc/ghi) phần tử
Sử dụng chỉ số (index) để phân biệt các phần tử. Chỉ số mảng tính từ 0.
int a[] = {4, 3, 5, 7};
a[2] = a[1] * 4; // 45*4=180
Sau phép gán này mảng là {4, 3, 12, 7};
Lấy số phần tử (chiều dài của mảng)
Sử dụng thuộc tính length để lấy số phần tử của mảng
a.length sẽ có giá trị là 4
Duyệt mảng
Vịng lặp for được dùng để duyệt mảng. Ngoài for, foreach cũng được dùng để duyệt
mảng.
Cú pháp:
for (kiểu_dữ_liệu x : tập hợp){

// Xử lý phần tử x
KHOA CÔNG NGHỆ THÔNG TIN

22


Chương 2: Lập trình cơ bản Java
}
Ví dụ: Xuất các giá trị của mảng a ra màn hình.
Cách 1: dùng for
int[] a = {4, 3, 5, 9};
for(int i=0; iSystem.out.println(a[i]);
}
Cách 2: dùng foreach
int[] a = {4, 3, 5, 9};
for (int x : a){
System.out.println(x);
}
Ví dụ: tính tổng các số chẵn của mảng sử dụng foreach để duyệt mảng
int[] a={9,3,8,7,3,9,4,2};
int tong=0;
for(int x:a){
if(x%2==0)
tong+=x;
}
System.out.println("Tổng: "+tong);
Sắp xếp các phần tử mảng
Dùng phương thức sort sắp xếp được hỗ trợ từ đối tượng Arrays trong Java.
int[] a={9,3,8,7,3,9,4,2};

System.out.println("Mảng ban đầu: "+Arrays.toString(a));
Arrays.sort(a);
System.out.println("Mảng sau khi sắp xếp: "+Arrays.toString(a));

Hình 2.6: Ví dụ sắp xếp mảng
KHOA CƠNG NGHỆ THƠNG TIN

23


Chương 2: Lập trình cơ bản Java
Arrays.sort khơng thể sắp xếp giảm cho mảng được. Vì vậy, cần phải tự xây dựng hàm
để sắp xếp giảm.
int[] a={9,3,8,7,3,9,4,2};
int i,j,tmp;
System.out.println("Mảng khi ban đầu: "+Arrays.toString(a));
for(i=0;ifor(j=i+1;j{
Hình 2.7: Ví dụ sắp xếp giảm dần

if(a[i]tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}

System.out.println("Mảng được sắp xếp: "+Arrays.toString(a));
CHUỖI

Khái niệm: String là một chuỗi các ký tự. String là một class được xây dựng sẵn trong
Java. String là một kiểu dữ liệu được sử dụng nhiều nhất trong lập trình. String có rất
nhiều phương thức giúp xử lý chuỗi một cách thuận tiện và hiệu quả.
String s = “Hello World”;
Các ký tự đặc biệt
Bảng 2.5: Bảng ký tự đặc biệt

Ký tự

Hiển thị

\n

Xuống dịng

\r

Về đầu dịng

\t

Ký tự tab

\\

\

\”




KHOA CƠNG NGHỆ THƠNG TIN

24


Chương 2: Lập trình cơ bản Java
Ví dụ:
System.out.println("\t+ Họ và tên: Lý\r\n\t+ Tuổi: 40");

Hình 2.8: Kết quả

Các thao tác với chuỗi
Bảng 2.6: Phương thức của chuỗi

Phương thức

Mô tả

equals()

So sánh bằng có phân biệt hoa/thường

equalsIgnoreCase()

So sánh bằng
hoa/thường

contains()


Kiểm tra có chứa hay khơng

startsWith()

Kiểm tra có bắt đầu bởi hay khơng

endsWith ()

Kiểm tra có kết thúc bởi hay khơng

matches ()

So khớp với hay khơng?

indexOf()

Tìm vị trí xuất hiện đầu tiên của chuỗi
con

lastIndexOf()

Tìm vị trí xuất hiện cuối cùng của chuỗi
con

toLowerCase ()

Đổi in thường

toUpperCase ()


Đổi in hoa

trim()

Cắt các ký tự trắng 2 đầu chuỗi

length()

Lấy độ dài chuỗi

substring()

Lấy chuỗi con

charAt (index)

Lấy ký tự tại vị trí

KHOA CƠNG NGHỆ THƠNG TIN

khơng

phân

biệt

25



×