1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình Lập trình Java (Ngành Hệ thống thông tin)

91 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 91
Dung lượng 2,34 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 ch

Trang 1

Ủ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

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

Trang 2

Ủ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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

GIÁO TRÌNH MÔN HỌC Tên môn học: LẬP TRÌNH JAVA

- 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

Trang 7

KHOA CÔNG NGHỆ THÔNG TIN 7

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 đ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

Trang 8

KHOA CÔNG NGHỆ THÔNG TIN 8

– 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

Trang 9

KHOA CÔNG NGHỆ THÔNG TIN 9

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 +

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

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

Trang 10

KHOA CÔNG NGHỆ THÔNG TIN 10

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

Trang 11

KHOA CÔNG NGHỆ THÔNG TIN 11

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

https://freetuts.net/huong-dan-cai-dat-va-cau-hinh-netbeans-ide-chi-tiet-1210.html

Trang 12

KHOA CÔNG NGHỆ THÔNG TIN 12

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

Trang 13

KHOA CÔNG NGHỆ THÔNG TIN 13

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

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

Trang 14

-KHOA CÔNG NGHỆ THÔNG TIN 14

9,223,372,036,854,775,808 đến

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

Trang 15

KHOA CÔNG NGHỆ THÔNG TIN 15

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

Trang 16

KHOA CÔNG NGHỆ THÔNG TIN 16

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”

Trang 17

KHOA CÔNG NGHỆ THÔNG TIN 17

Trang 18

KHOA CÔNG NGHỆ THÔNG TIN 18

// 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

Trang 19

KHOA CÔNG NGHỆ THÔNG TIN 19

- 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:

Ví dụ: Viết chương trình xuất ra số 1 đến 19

Trang 20

KHOA CÔNG NGHỆ THÔNG TIN 20

Ý 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

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

Trang 21

KHOA CÔNG NGHỆ THÔNG TIN 21

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

Trang 22

KHOA CÔNG NGHỆ THÔNG TIN 22

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

Trang 23

KHOA CÔNG NGHỆ THÔNG TIN 23

Trang 24

KHOA CÔNG NGHỆ THÔNG TIN 24

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

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”;

Trang 25

KHOA CÔNG NGHỆ THÔNG TIN 25

Ví dụ:

System.out.println("\t+ Họ và tên: Lý\r\n\t+ Tuổi: 40");

Các thao tác với chuỗi

Bảng 2.6: Phương thức của chuỗi

hoa/thườ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

Hình 2.8 : Kết quả

Trang 26

KHOA CÔNG NGHỆ THÔNG TIN 26

replaceAll(find, replace) Tìm kiếm và thay thế tất cả

else{

////thông báo }

LỚP BAO KIỂU DỮ LIỆU CƠ SỞ

Do nhiều hàm trongJava chỉ làm việc với đối tượng mà không làm việc với kiểu cơ sở cho nên tương ứng với mỗi kiểu cơ sở Java định nghĩa một lớp bao để bao giá trị của kiểu cơ sở tương ứng gọi là lớp bao kiểu cơ sở

Bảng 2.7: Kiểu dữ liệu cơ sở và lớp bao tương ứng

Trang 27

KHOA CÔNG NGHỆ THÔNG TIN 27

Có hai khái niệm về lớp bao là boxing và unboxing

Boxing là việc tạo đối tượng từ lớp bao để bọc giá trị cơ sở Có 3 cách để bao giá trị

cơ sở sau:

Integer a = Integer.valueOf(5) // bao tường minh

Integer a = new Integer(5) // bao tường minh

int a = scanner.nextInt(); hoặc int a = Integer.parseInt(s);

Trong ví dụ, người dùng nhập vào giá trị khác số thì sẽ xảy ra lỗi

Cú pháp:

try {

//lệnh nghi ngờ sẽ có lỗi }

Trang 28

KHOA CÔNG NGHỆ THÔNG TIN 28

Ví dụ: Bắt lỗi khi người dùng nhập vào giá trị khác số

Stream là một dòng liên tục, có thứ tự các bytes dữ liệu chảy giữa chương trình và thiết bị ngoại vi Trong console có 3 stream tự động

1) System.out: standard output stream

2) System.in: standard input stream

3) System.err: standard error stream

Ví dụ:

System.out.println("Xin chào.");

System.err.println("Lỗi.");

int i=System.in.read(); //trả về mã ASCII của ký tự đầu tiên

Trang 29

KHOA CÔNG NGHỆ THÔNG TIN 29

Lớp InputStream là một lớp trừu tượng Nó là lớp cha của tất cả các lớp đại diện cho một luồng vào của các bytes

Hình 2.10 : Các lớp của luồng nhập – Nguồn [5]

OutputStream: được sử dụng để ghi dữ liệu đến đích (destination)

Hình 2.11 : Luồng xuất - Nguồn [5]

Lớp OutputStream là một lớp trừu tượng Nó là lớp cha của tất cả các lớp đại diện cho một luồng ra của các bytes Một luồng ra chấp nhận các byte đầu ra và gửi chúng đến một số bộ phận chìm

Hình 2.12 : Các lớp luồng xuất – Nguồn [5]

Trang 30

KHOA CÔNG NGHỆ THÔNG TIN 30

FileOutputStream

Java FileOutputStream là một luồng ra được sử dụng để ghi dữ liệu vào một tệp

Nếu bạn phải ghi các giá trị kiểu dữ liệu cơ bản vào một tệp, hãy sử dụng lớp

FileOutputStream Bạn có thể ghi dữ liệu hướng byte cũng như dữ liệu hướng ký tự thông qua lớp FileOutputStream

Các phương thức của FileOutputStream:

Bảng 2.8: Phương thức của FileOutputStream

protected void finalize() Xóa kết nối với tập tin output stream

void write(byte[] ary) Ghi tất cả chiều dài ary.length bytes của mảng

byte vào file output stream

void write(byte[] ary, int off,

int len)

Ghi tất cả chiều dài ary.length bytes của mảng byte bắt đầu tại offset off đến file output stream

void write(int b) Ghi một byte cụ thể vào file output stream

FileChannel getChannel() Trả về file channel object giao tiếp với file output

stream

FileDescriptor getFD() Trả về mô tả của tập tin giao tiếp với stream

void close() Đóng file output stream

Khai báo java.io.FileOutputStream để sử dụng FileOutputStream

Ví dụ: Xuất một ký tự vào tập tin

try (FileOutputStream fout = new FileOutputStream("testout.txt")) {

Trang 31

KHOA CÔNG NGHỆ THÔNG TIN 31

Ví dụ: Xuất một chuỗi vào tập tin

try(FileOutputStream fout = new FileOutputStream("outString.txt")){

String s="Xin chào Java.";

byte b[]= s.getBytes();//chuyển sang kiểu byte

Java FileInputStream là một luồng ra được sử dụng để đọc dữ liệu từ một tệp

Nếu bạn phải đọc các giá trị kiểu dữ liệu cơ bản vào một tệp, hãy sử dụng lớp FileInputStream Bạn có thể ghi dữ liệu hướng byte cũng Indữ liệu hướng ký tự thông qua lớp FileInputStream

Các phương thức của FileInputStream:

Bảng 2.9: Phương thức FileInputStream

int read(byte[] b) Đọc tất cả bytes dữ liệu từ tập tin

int read(byte[] b, int off, int len) Đọc tất cả bytes dữ liệu tại off từ tập tin

FileChannel getChannel() Trả về file channel object giao tiếp với

Trang 32

KHOA CÔNG NGHỆ THÔNG TIN 32

file input stream

FileDescriptor getFD() Trả về mô tả của tập tin giao tiếp với

stream

protected void finalize() Đảm bảo phương thức đóng của tập

không còn bất kỳ tham chiếu

Khai báo java.io.FileInputStream để sử dụng FileInputStream

Ví dụ: Đọc nội dung tập tin testout.txt và hiển thị ra màn hình

try(FileInputStream fin = new FileInputStream("testout.txt")){

Ví dụ: Đọc nội dung tập tin từ tập tin testin.txt và hiển thị ra màn hình

Hình 2.15 : Nội dung tập tin sẽ được đọc

try(FileInputStream fin = new FileInputStream("testin.txt")){

int i;

while((i=fin.read())!=-1){

System.out.print((char)i);

} fin.close();

}catch(Exception e){

System.out.println(e);

}

Trang 33

KHOA CÔNG NGHỆ THÔNG TIN 33

BÀI TẬP CHƯƠNG 2 Bài tập 1: Viết chương trình nhập họ tên, điểm thường xuyên, điểm định kỳ từ bàn

phím, tính điểm trung bình và xuất ra màn hình với dạng Họ tên – Điểm thường xuyên – Điểm định kỳ - Điểm trung bình

Hướng dẫn:

Sử dụng Sytem.in.Read() để nhập dữ liệu

Sử dụng System.out.print, System.out.println, System.out.printf để xuất

Bài tập 2: Viết chương trình nhập cạnh a và b.Tính và xuất chu vi, diện tích tích hình

chữ nhật

Bài tập 3: Viết chương trình nhập cạnh a và b Kiểm tra a=b thì dùng công thức tính

hình vuông, ngược lại dùng công thức tính hình chữ nhật

Bài tập 4: Viết chương trình nhập vào số điện sử dụng của tháng và tính tiền điện

Nếu số điện sử dụng từ 0 đến 50 thì giá mỗi số điện là 1000

Nếu số điện sử dụng trên 50 thì giá mỗi số điện vượt hạn mức là 1200

Bài tập 5: Viết chương trình nhập vào tháng và hiển thị số ngày của tháng

Bài tập 6: Viết chương trình hiển thị bảng cửu chương

Bài tập 7: Viết chương trình nhập 2 mảng họ tên và điểm của sinh viên Xuất 2 mảng

đã nhập, mỗi sinh viên có thêm học lực

Bài tập 8: Ghi ký tự đầu tiên của tên học sinh vào một tập tin

Bài tập 9: Tạo tập tin txt với nội dung là Donal Trumph Sử dụng luồng đọc, để đọc

nội dung trong tập tin txt vừa tạo và hiển thị ra màn hình

Trang 34

KHOA CÔNG NGHỆ THÔNG TIN 34

CHƯƠNG 3: XÂY DỰNG GIAO DIỆN NGƯỜI DÙNG

Gi ới thiệu:

Chương 3 giới thiệu giao diện người dùng, các điều khiển để thiết kế giao diện Swing

Mục tiêu:

- Thiết kế giao diện người dùng đồ họa sử dụng Swing,

- Sử dụng được các điều khiển cơ bản trong Swing

3.1 Cấu trúc chung của giao diện

Java Foundation Classes (JFC) là một tập hợp các thành phần GUI giúp đơn giản hóa việc phát triển các ứng dụng máy tính để bàn

Ví dụ: Một ứng dụng GUI quản lý nhân viên

Hướng dẫn tạo một cửa sổ giao diện:

Bước 1: File  New Project  Đặt tên là Java Swing

Bước 2: Xóa package tự tạo từ NetBean

Hình 3.1 : Hình minh họa giao diện

Trang 35

KHOA CÔNG NGHỆ THÔNG TIN 35

Bước 3: Tạo mới một package

Bước 4: Tạo class mới

Bước 5: Viết mã chương trình như sau

* Phần chi tiết các của ví dụ sẽ được hướng dẫn tiếp ở phần 3.5

Cấu trúc chung của một giao diện GUI

Hình 3.2 : Tạo Package

Hình 3.3 : Tạo lớp

Trang 36

KHOA CÔNG NGHỆ THÔNG TIN 36

Cửa sổ - Window

❖Cửa sổ ứng dụng

❑ Khung chứa – Container

❖Chứa một hoặc nhiều điều khiển

❑ Điều khiển – Control

❖TextField, Radio, CheckBox,

Button, Table…

❑ Chú ý:

❖Một ứng dụng có thể có nhiều

của sổ

❖Một khung chứa có thể chứa

nhiều điều khiển hoặc khung chứa

khác

3.2 Giới thiệu gói AWT và Swing

AWT (Abstract Window Toolkit)

Java AWT là một API để phát triển GUI hoặc các ứng dụng dựa trên desktop trong java

Các thành phần Java AWT phụ thuộc vào nền tảng, nghĩa là các thành phần được hiển thị theo chế độ xem của hệ điều hành AWT có trọng lượng lớn, nghĩa là các thành phần của nó đang sử dụng tài nguyên của hệ điều hành

Gói java.awt cung cấp các lớp cho AWT api như TextField, Label, TextArea, RadioButton, CheckBox, Choice, List, v.v

Các lớp AWT

Hình 3.4 : Cấu trúc chung của một giao diện

Trang 37

KHOA CÔNG NGHỆ THÔNG TIN 37

SWING

Hướng dẫn Java Swing là một phần của Java Foundation Classes (JFC) được sử dụng

để tạo các ứng dụng dựa trên cửa sổ Nó được xây dựng trên API AWT và hoàn toàn được viết bằng java

Không giống như AWT, Java Swing cung cấp các thành phần nhẹ và độc lập với nền tảng

Gói javax.swing cung cấp các lớp cho API java swing như JButton, JTextField, TextArea, JRadioButton, JCheckbox, JMenu, JColorChooser, v.v

Các lớp Java Swing

Hình 3.5 : Các lớp trong AWT

Trang 38

KHOA CÔNG NGHỆ THÔNG TIN 38

3.3 Trình quản lý giao diện – Layout

Các component trong Java Swing được chia làm hai loại là container và children, trong

đó container là loại component dùng để chứa các component khác, ví dụ như JFrame, JPanel… còn children là các component như JLabel, Jbutton, JTextField… khi chúng

ta đặt các component con lên các container thì việc đặt và sắp xếp theo vị trí nào đó và

nó được gọi là Layout

The LayoutManagers được dùng để sắp xếp các điều khiển theo từng nhóm cụ thể LayoutManager là một interface Layout managers có các lớp sau:

Hình 3.6 : Các lớp của Swing

Trang 39

KHOA CÔNG NGHỆ THÔNG TIN 39

Hằng số được sử dụng với hàm là:

public static final int NORTH

public static final int SOUTH

public static final int EAST

public static final int WEST

public static final int CENTER

Ví dụ: Tạo 5 buttons và đặt chúng vào 5 vùng

Trang 40

KHOA CÔNG NGHỆ THÔNG TIN 40

JFrame f;

Border(){

f=new JFrame();

JButton b1=new JButton("NORTH");;

JButton b2=new JButton("SOUTH");;

JButton b3=new JButton("EAST");;

JButton b4=new JButton("WEST");;

JButton b5=new JButton("CENTER");;

Ngày đăng: 28/12/2021, 19:17

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phạm Vă n Trung & Cộng sự , “Lập trình Java căn bản” , Xây dựng , 2018 Sách, tạp chí
Tiêu đề: “Lập trình Java căn bản”
[2] Trần Đan Thư , “Lập trình Java căn bản” , Lao động xã hội , 2005 Sách, tạp chí
Tiêu đề: “Lập trình Java căn bản”
[3] Tập bài giảng FPoly , Lập trình Java 1,2 , 3 Cao đẳng FPoly , 2012 Sách, tạp chí
Tiêu đề: Lập trình Java 1,2, 3
[4] JavaTpoint, Ngôn ngữ Java , Liên kết https://www.javatpoint.com/java-tutorial, Ngày truy cập 26/09/2020 Sách, tạp chí
Tiêu đề: Ngôn ngữ Java
[5] Oracle Java Document, Luồng nhập xuất, Liên kếthttps://docs.oracle.com/javase/tutorial/essential/io/streams.html , Ngày truy cập 24/09/2020 Sách, tạp chí
Tiêu đề: Luồng nhập xuất
[6] Oracle Java Document, “ Creating a GUI with Swing ”, Liên kết https://docs.oracle.com/javase/tutorial/uiswing/ , Ngày truy cập 15/10/2020 Sách, tạp chí
Tiêu đề: Creating a GUI with Swing”
[7] Oracle Java Document, “ Learning the Java Language ”, Liên kết https://docs.oracle.com/javase/tutorial/java/index.html, Ngày truy cập 15/10/2020 Sách, tạp chí
Tiêu đề: Learning the Java Language

HÌNH ẢNH LIÊN QUAN

Hình 1.1: JDK - Nguồn [4] - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
Hình 1.1 JDK - Nguồn [4] (Trang 9)
Hình 2.1 : Ví dụ nội dung cơ bản của tập tin Java - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
Hình 2.1 Ví dụ nội dung cơ bản của tập tin Java (Trang 12)
Bảng   2.1 : Kiểu dữ liệu - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
ng 2.1 : Kiểu dữ liệu (Trang 13)
Bảng   2.2 : Toán tử số học - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
ng 2.2 : Toán tử số học (Trang 14)
Bảng   2.3 : Toán tử so sánh - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
ng 2.3 : Toán tử so sánh (Trang 15)
Bảng   2.7 : Kiểu dữ liệu cơ sở và lớp bao tương ứng - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
ng 2.7 : Kiểu dữ liệu cơ sở và lớp bao tương ứng (Trang 26)
Hình 2.11 : Luồng xuất  -  Nguồn [5] - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
Hình 2.11 Luồng xuất - Nguồn [5] (Trang 29)
Hình 3.1 : Hình minh họa giao diện - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
Hình 3.1 Hình minh họa giao diện (Trang 34)
Hình 3.2 : Tạo Package - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
Hình 3.2 Tạo Package (Trang 35)
Hình 3.4 : Cấu trúc chung của một giao diệ n - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
Hình 3.4 Cấu trúc chung của một giao diệ n (Trang 36)
Hình 3.5 : Các lớp trong AWT - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
Hình 3.5 Các lớp trong AWT (Trang 37)
Hình 3.6 : Các lớp của Swing - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
Hình 3.6 Các lớp của Swing (Trang 38)
Hình 3.7 : Ví dụ BorderLayout - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
Hình 3.7 Ví dụ BorderLayout (Trang 39)
Hình 3.8 : Ví dụ FlowLayout - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
Hình 3.8 Ví dụ FlowLayout (Trang 41)
Hình 3.11 : Ví dụ BoxLayout - Giáo trình Lập trình Java (Ngành Hệ thống thông tin)
Hình 3.11 Ví dụ BoxLayout (Trang 47)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN