Giáo trình Lập trình Java - Ngành: Hệ thống thông tin
Ủ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ố:
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)
/QĐ-CĐKTKT
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: thaithingocly@hotec.edu.vn
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
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
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
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
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
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 chuyên 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, toá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:
Giới thiệu:
TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH JAVA
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 đoà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 https://netbeans.org/downloads/8.2/rc/
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
byte
Kích thước
1 byte
Khả năng lưu trữ
-128 đến 127
short
2 bytes
-32,768 đến 32,767
int
4 bytes
-2,147,483,648
2,147,483,647
đến
long
8 bytes
-
KHOA CÔNG NGHỆ THÔNG TIN
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
8 bytes
lưu từ 6 đến 7 ký số thập
phân
double
Lưu được 15 ký số thập
phân
boolean
char
1 bit
true or false
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: Toán tử số học
Toán tử
Diễn giải
Phép cộng
Phép trừ
Ví dụ
x+y
x-y
+
-
*
/
Phép nhân
Phép chia
x*y
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ư
Tăng một đơn vị
Giảm một đơn vị
x%y
++x
--x
Toán tử so sánh
Bảng 2.3: Toán tử so sánh
Toán tử
Diễn giải
Ví dụ
x==y
x!=y
x>y
==
!=
>
Phép bằng
Phép khác
Lớn hơn
<
Nhỏ hơn
x<y
>=
<=
Lớn hơn bằng
Nhỏ hơn bằng
x>=y
x<=y
Toán tử luận lý (logic)
Bảng 2.4: Toán tử luận lý
Toán tử
Diễn giải
Và
Ví dụ
&&
x < 5 && x < 10
x < 5 || x < 4
!(x < 5 && x < 10)
||
Hoặc
!
Phủ định
Toán tử điều kiện
Toán tử điều kiện là toá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à <giá trị
đú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.");
Hình 2.2: Kết quả Ví dụ
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.
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)
Hình 2.3: Kết quả ví dụ
System.out.println("Đậu.");
KHOA CÔNG NGHỆ THÔNG TIN
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
2
3
4
5
6
7
Đến 5
5
Trên 5 đến 10
Trên 10 đến 18
Trên 18 đến 32
Trên 32 đến 52
Trên 52 đến 80
Trên 80
10
15
20
25
30
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 “*”:
thiếu break
c = a + b;
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
5%
1
5 triệu
2
Trên 5 triệu đến 10 triệu
Trên 10 triệu đến 18 triệu
Trên 18 triệu đến 32 triệu
Trên 32 triệu đến 52 triệu
Trên 52 triệu đến 80 triệu
Trên 80 triệu
10%
3
15%
4
20%
5
25%
6
30%
7
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
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Lập trình Java - Ngành: Hệ thống thông tin", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- giao_trinh_lap_trinh_java_nganh_he_thong_thong_tin.pdf