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.
Ủ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 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: 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 thuộc loại sách giáo trình nên nguồn thơng tin phép dùng ngun trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm BM31/QT02/NCKH&HTQT LỜI GIỚI THIỆU Giáo trình 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 giới thiệu lịch sử java, khái niệm java, thiết kế giao diện lập trình sở liệu với ngôn ngữ java Phần mềm dùng để học ngôn ngữ Java NetBean sử dụng giáo trình Học xong mơn học này, học sinh sinh viên tạo chương trình java console, thiết kế giao diện ứng dụng dành cho desktop kết nối sở 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 CHƯƠNG 1: TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH JAVA 1.1 Lịch sử đời java 1.2 Đặc điểm ngơn ngữ lập trình Java 1.3 Các công nghệ Java 1.4 Các ứng dụng Ngơn ngữ lập trình Java 1.5 Java Core API - Môi trường làm việc java 10 1.6 Cài đặt 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 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 liệu 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 giao diện 34 3.2 Giới thiệu gói AWT 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 55 3.6 Xử lý 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ý 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 môn học: 75 giờ; (Lý thuyết: 15 giờ; Thực hành: 56 giờ; Kiểm tra: giờ) Đơn vị quản lý môn học: Khoa Cơng Nghệ Thơng Tin I Vị trí, tính chất mơn học: - Vị trí: mơn học chun ngành, học kỳ - 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 khái niệm ngơn ngữ lập trình Java + Mơ tả thành phần ngơn ngữ lập trình Java (kiểu liệu, toán tử, cấu trúc điều khiển, v.v ) + Trình bày chức cơng dụng gói dùng để tạo giao diện Java + So sánh ưu, nhược điểm ngôn ngữ lập trình Java với 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 Java có sử dụng sở liệu - Về lực tự chủ trách nhiệm: + Nhận thức tầm quan trọng ngơn ngữ lập trình Java phát triển ứng dụng + Nâng cao lực tự nghiên cứu, tự tìm hiểu trình học tập Chương 1: Tổng quan 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ử ngơn ngữ lập trình Java, đặc điểm, công nghệ Java Mục tiêu: - Biết lịch sử hình thành ngơn ngữ Java - Biết đặc điểm ngôn ngữ Java - Cài đặt sử dụng NetBeans 1.1 Lịch sử đời java Java ngơn ngữ lập trình tảng Java ngôn ngữ cấp cao, mạnh mẽ, hướng đối tượng an toàn Năm 1991, ngơn ngữ lập trình Java có tên Oak tập đồn Sun Microsystem phát triển ngôn ngữ kế thừa từ C/C++ James Gosling cha đẻ ngôn ngữ Năm 1995, đổi tên thành ngơn ngữ lập trình Java thời điểm Oak thơng báo bị đăng ký quyền nhãn hiệu Java tên đảo Indonesia đảo tiếng Coffee Peet loại đồ uống dành cho kỹ sư Sun Năm 2010, hãng Oracle mua lại Sun Microsystem Nền tảng môi trường phần cứng phần mềm mà chương trình phần mềm chạy Vì Java có mơi trường runtime (JRE) API nên gọi tảng 1.2 Đặc điểm ngơn ngữ lập trình Java Ngơn ngữ Java có đặc trưng: – Đơn giản: Java cải tiến dễ dàng cách loại bỏ tất phức tạp trỏ, toán tử, phương thức nạp chồng (overload)như bạn thấy C ++ ngôn ngữ lập trình khác – Hướng đối tượng: Mọi thứ coi đối tượng khác nhau, có sở hữu thuộc tính tất hoạt động thực cách sử dụng đối tượng – Độc lập: Java độc lập với tảng, có nghĩa ứng dụng viết tảng dễ dàng chuyển sang tảng khác KHOA CÔNG NGHỆ THÔNG TIN Chương 1: Tổng quan ngơn ngữ lập trình Java – Mạnh mẽ: Java có hệ thống quản lý nhớ mạnh Nó giúp loại bỏ lỗi kiểm tra Code trình biên dịch runtime – Bảo mật: Tất mã chuyển đổi sang byteCode sau biên dịch, đọc người chạy chương trình bên Sandbox để ngăn chặn hoạt động từ nguồn không đáng tin cậy Nó cho phép phát triển hệ thống / ứng dụng khơng có virus, giả mạo – Phân tán: Java cung cấp tính giúp tạo ứng dụng phân tán Sử dụng phương thức từ xa(RMI), chương trình gọi phương thức chương trình khác thơng qua nhận đầu Bạn truy cập file cách gọi phương thức từ máy internet – Đa luồng: Java hỗ trợ nhiều luồng thực thi, bao gồm tập hợp nguyên hàm đồng hóa Điều làm cho lập trình với chủ đề dễ dàng nhiều – Linh hoạt: Nó có khả thích ứng với mơi trường phát triển hỗ trợ cấp phát nhớ động giảm lãng phí nhớ hiệu suất ứng dụng tăng lên – Hiệu suất cao: Java đạt hiệu suất cao thơng qua việc sử dụng byteCode dễ dàng dịch sang mã máy Với việc sử dụng trình biên dịch JIT (Just-In-Time), Java mang lại hiệu cao – Thông dịch: Java biên dịch thành byteCode, thông dịch môi trường Java run-time 1.3 Các công nghệ Java JVM (Java Virtual Machine) JVM máy ảo giúp máy tính chạy chương trình Java Đây mơi trường giúp cho byteCode java thực thi Nó cỗ máy trừu tượng Đây đặc tả cung cấp mơi trường thời gian chạy mã byte Java thực thi Nó theo ba ký hiệu: – Specification: Đây tài liệu mô tả việc triển khai máy ảo Java Nó cung cấp Sun công ty khác – Implementation (Triển khai): Đây chương trình đáp ứng yêu cầu đặc tả JVM – Instance Runtime: Một thể JVM tạo bạn viết lệnh java dấu nhắc lệnh chạy lớp JRE (Java Runtime Environment) JRE (là viết tắt Java Runtime Environment) sử dụng để cung cấp môi trường để byteCode thực thi Nó trình triển khai JVM cung cấp lớp KHOA CÔNG NGHỆ THÔNG TIN Chương 1: Tổng quan ngơn ngữ lập trình Java thư viện file khác mà JVM sử dụng chạy Vì vậy, JRE gói phần mềm chứa u cầu để chạy chương trình Java Về JDK (Bộ phát triển Java) Đây 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 Development Tool cơng cụ lập trình cho lập trình viên Java Bộ cơng cụ phát triển Java cung cấp miễn phí Cùng với JRE, 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) công cụ khác cần thiết phát triển Java Nói tóm lại, chứa cơng cụ phát triển JRE + Hình 1.1: JDK - Nguồn [4] 1.4 Các ứng dụng Ngơn ngữ lập trình Java Sử dụng lập trình ngơn ngữ Java để tạo loại ứng dụng sau: 1) Standalone Application Ứng dụng Standalone ứng dụng dành cho desktop ứng dụng dựa hệ điều hành window Các phần mềm cần phải cài vào máy tính Ví dụ cho ứng dụng Standalone Media player, antivirus, etc AWT and Swing Java dùng để tạo ứng dụng standalone KHOA CÔNG NGHỆ THÔNG TIN Chương 1: Tổng quan ngơn ngữ lập trình Java 2) Web Application Web application ứng dụng trang web động chạy server Hiện nay, công nghệ Servlet, JSP, Struts, Spring, Hibernate, JSF, … dùng để tạo ứng dụng web 3) Enterprise Application Enterprise applications gọi ứng dụng doanh nghiệp Một ứng dụng phân phối hoạt động kinh doanh, chẳng hạn ứng dụng ngân hàng, v.v Nó có ưu điểm bảo mật cấp cao, cân tải phân cụm Trong Java, EJB sử dụng để tạo ứng dụng doanh nghiệp 4) Mobile Application Mobile application ứng dụng tạo dành cho thiết bị di động Hiện nay, Android and Java ME sử dụng để tạo ứng dụng di động 1.5 Java Core API - Môi trường làm việc java API phương thức, giao thức kết nối với thư viện ứng dụng khác Nó viết tắt Application Programming Interface – giao diện lập trình ứng dụng API cung cấp khả cung cấp khả truy xuất đến tập hàm hay dùng Và từ trao đổi liệu ứng dụng API có loại sau: Web API: hệ thống API sử dụng hệ thống website Hầu hết website ứng dụng đến Web API cho phép bạn kết nối, lấy liệu cập nhật sở liệu Ví dụ: Bạn thiết kế chức nằng login thông Google, Facebook, Twitter, Github… Điều có nghĩa bạn gọi đến API Hoặc ứng dụng di động lấy liệu thông qua API API hệ điều hành: Windows hay Linux có nhiều API, họ cung cấp tài liệu API đặc tả hàm, phương thức giao thức kết nối Nó giúp lập trình viên tạo phần mềm ứng dụng tương tác trực tiếp với hệ điều hành API thư viện phần mềm hay framework: API mô tả quy định hành động mong muốn mà thư viện cung cấp Một API có nhiều cách triển khai khác giúp cho chương trình viết ngơn ngữ sử dụng thư viện viết ngơn ngữ khác Ví dụ bạn dùng Php để yêu cầu thư viện tạo file PDF viết C++ 1.6 Cài đặt hướng dẫn sử dụng NetBeans KHOA CÔNG NGHỆ THÔNG TIN 10 Chương 4: Lập trình sở liệu Bước 6: Viết mã thực chức Save Hình 4.12: Viết mã thực chức Save Bước 7: Viết mã thực chức Update Hình 4.13: Viết mã thực chức Update Bước 8: Viết mã thực chức Delete KHOA CÔNG NGHỆ THÔNG TIN 77 Chương 4: Lập trình sở liệu Hình 4.14: Viết mã thực chức Delete KHOA CÔNG NGHỆ THÔNG TIN 78 Chương 4: Lập trình sở liệu BÀI TẬP CHƯƠNG Bài tập 1: Viết chương trình để kiểm tra kiến thức java Trong chờ kết quả, người dùng đánh dấu câu hỏi để xem lại KHOA CÔNG NGHỆ THÔNG TIN 79 Chương 4: Lập trình sở liệu Bài tập 2: Viết ứng dụng quản lý thư viện gồm có người dùng chức người dùng sau: Người dùng hệ thống: Admin (quản trị) Libraian (thủ thư) Yêu cầu chức người dùng: Admin add/view/delete librarian logout Librarian add/view books issue books (cho mượn sách) View issued books (xem sách mượn) Return Books Logout KHOA CÔNG NGHỆ THÔNG TIN 80 Chương 4: Lập trình sở liệu KHOA CƠNG NGHỆ THƠNG TIN 81 Chương 4: Lập trình sở liệu Bài tập 3: Viết ứng dụng quản lý việc tốn học phí sinh viên Người dùng hệ thống: Admin Accountant (kế toán) Yêu cầu chức năng: Admin - add/view/edit/delete accountant - logout Accountant - add/view/edit/delete students - check due fee - logout KHOA CÔNG NGHỆ THƠNG TIN 82 Chương 4: Lập trình sở liệu KHOA CÔNG NGHỆ THÔNG TIN 83 Chương 4: Lập trình sở liệu KHOA CƠNG NGHỆ THƠNG TIN 84 Chương 4: Lập trình sở liệu KHOA CƠNG NGHỆ THƠNG TIN 85 Chương 4: Lập trình sở liệu KHOA CÔNG NGHỆ THÔNG TIN 86 TÀI LIỆU THAM KHẢO [1] Phạm Văn Trung & Cộng sự, “Lập trình Java bản”, Xây dựng, 2018 [2] Trần Đan Thư, “Lập trình Java bản”, Lao động xã hội, 2005 [3] Tập giảng FPoly, Lập trình Java 1,2, Cao đẳng FPoly, 2012 [4] JavaTpoint, Ngôn ngữ Java, Liên kết https://www.javatpoint.com/java-tutorial, Ngày truy cập 26/09/2020 [5] Oracle Java Document, Luồng nhập xuất, Liên kết https://docs.oracle.com/javase/tutorial/essential/io/streams.html, Ngày truy cập 24/09/2020 [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 [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 KHOA CÔNG NGHỆ THÔNG TIN 87 DANH MỤC HÌNH ẢNH Hình 1.1: JDK - Nguồn [4] Hình 2.1: Ví dụ nội dung tập tin Java 12 Hình 2.2: Kết Ví dụ 16 Hình 2.3: Kết ví dụ 16 Hình 2.4: Kết 21 Hình 2.5: Mảng - Nguồn [3] 21 Hình 2.6: Ví dụ xếp mảng 23 Hình 2.7: Ví dụ xếp giảm dần 24 Hình 2.8: Kết 25 Hình 2.9: Luồng nhập - Nguồn [5] 28 Hình 2.10: Các lớp luồng nhập – Nguồn [5] 29 Hình 2.11: Luồng xuất - Nguồn [5] 29 Hình 2.12: Các lớp luồng xuất – Nguồn [5] 29 Hình 2.13: Kết xuất ký tự vào tập tin 30 Hình 2.14: Kết xuất chuỗi vào tập tin 31 Hình 2.15: Nội dung tập tin đọc 32 Hình 3.1: Hình minh họa giao diện 34 Hình 3.2: Tạo Package 35 Hình 3.3: Tạo lớp 35 Hình 3.4: Cấu trúc chung giao diện 36 Hình 3.5: Các lớp AWT 37 Hình 3.6: Các lớp Swing 38 Hình 3.7: Ví dụ BorderLayout 39 Hình 3.8: Ví dụ FlowLayout 41 Hình 3.9: Ví dụ GridLayout 43 Hình 3.10: Ví dụ GridBagLayout 45 Hình 3.11: Ví dụ BoxLayout 47 KHOA CƠNG NGHỆ THƠNG TIN 88 Hình 3.12: Ví dụ GroupLayout 48 Hình 3.13: Ví dụ CardLayout 50 Hình 3.14: Ví dụ ScrollPaneLayout 52 Hình 3.15: Ví dụ SpringLayout 53 Hình 3.16: JFrame 56 Hình 3.17: Swing Containers 56 Hình 3.18: Swing Controls 57 Hình 3.19: JRadioButton 58 Hình 3.20: JComboBox 58 Hình 3.21: JOptionPane dạng Confirm 58 Hình 3.24: JOptionPane dạng Message 59 Hình 3.22: JOptionPane dạng Input 59 Hình 3.23: Ví dụ form Đăng nhập 59 Hình 3.25: Xử lý kiện đăng nhập 60 Hình 3.26: Bước 1- Xử lý kiện 60 Hình 3.27: Ví dụ Bắt kiện với JRadio 61 Hình 3.28: Chọn kiện 63 Hình 3.29: Bắt kiện với JComboBox 64 Hình 3.30: Chọn kiện 65 Hình 4.1: Kiến trúc JDBC 69 Hình 4.2: JDBC-ODBC Bridge Driver 70 Hình 4.3: Native Driver 70 Hình 4.4: Network Protocol Driver 71 Hình 4.5: Thin Driver 71 Hình 4.6: Ví dụ Quản lý nhân viên 74 Hình 4.7: Bước Thiết kế form 75 Hình 4.8: Bước Chuẩn bị sở liệu 75 Hình 4.9: Bước Viết mã 76 Hình 4.10: Viết mã thực chức chọn dòng JTable 76 KHOA CƠNG NGHỆ THƠNG TIN 89 Hình 4.11: Viết mã thực chức chọn New 76 Hình 4.12: Viết mã thực chức Save 77 Hình 4.13: Viết mã thực chức Update 77 Hình 4.14: Viết mã thực chức Delete 78 KHOA CÔNG NGHỆ THÔNG TIN 90 DANH MỤC BẢNG Bảng 2.1: Kiểu liệu 13 Bảng 2.2: Toán tử số học 14 Bảng 2.3: Toán tử so sánh 15 Bảng 2.4: Toán tử luận lý 15 Bảng 2.5: Bảng ký tự đặc biệt 24 Bảng 2.6: Phương thức chuỗi 25 Bảng 2.7: Kiểu liệu sở lớp bao tương ứng 26 Bảng 2.8: Phương thức FileOutputStream 30 Bảng 2.9: Phương thức FileInputStream 31 KHOA CÔNG NGHỆ THÔNG TIN 91 ... https://freetuts.net/huong-dan-cai-dat-va-cau-hinh-netbeans-ide-chi-tiet-1210.html KHOA CÔNG NGHỆ THÔNG TIN 11 Chương 2: Lập trình Java CHƯƠNG 2: LẬP TRÌNH CƠ BẢN VỚI JAVA Giới thiệu: Chương trình bày kiến trúc java, ... 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ử ngơn ngữ lập trình Java, đặc điểm, cơng nghệ Java Mục tiêu: - Biết lịch sử hình thành ngơn ngữ Java. .. 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