Phụ lục TRƯỜNG ĐẠI HỌC TRÀ VINH KHOA KỸ THUẬT VÀ CÔNG NGHỆ TÀI LIỆU GIẢNG DẠY MÔN LẬPTRÌNHJAVA GV biên soạn: Nhan Minh Phúc Trà Vinh, 09/2017 Lưu hành nội MỤC LỤC Nội dung Trang CHƯƠNG TỔNG QUAN VỀ NGÔN NGỮ JAVA Lịch sử phát triển ngôn ngữ Java Các kiểu chương trìnhJava a)Applets b)Ứng dụng thực thi qua dòng lệnh c)Ứng dụng đồ họa d)Ứng dụng sở liệu Máy ảo Java (JVM-Java Virtual Machine) Quản lý nhớ dọn rác Quá trình kiểm tra file.class Bộ công cụ phát triển JDK (Java Development Kit) 10 Java Core API 10 Các đặc trưng Java 11 a)Ðơn giản 11 b)Hướng đối tượng 11 c)Ðộc lập phần cứng hệ điều hành 11 d)Mạnh mẽ 12 e)Bảo mật 12 f)Phân tán 12 g)Ða luồng 12 h)Ðộng 12 CHƯƠNG 15 XÂY DỰNG LỚP TRONG JAVA 16 Lớp đối tượng 16 Các thành phần lớp 16 Khai báo lớp: 17 Quy tắc đặt tên định danh Java 17 Tạo đối tượng lớp 18 Các lớp xếp lồng vào (nested classes) 19 a)Lớp kiểu tĩnh (static) 20 b) Lớp kiểu động (non static) 20 Nạp chồng phương thức Java 21 CHƯƠNG 25 CÁC CẤU TRÚC LỆNH CƠ BẢN TRONG JAVA 25 Từ khóa Java (Java Keywords): 25 Chú thích Java (Comments in Java): 26 Phép toán số học 26 Phép toán thao tác bit 27 Phép toán quan hệ 27 Phép toán logic 27 Ép kiểu 27 Thứ tự ưu tiên 27 Tài liệu giảng dạy mơn LậptrìnhJava Nhập liệu Java 28 a) Đặc điểm lớp Scanner Java: 28 b) Sử dụng BufferReader Java 30 10 Các kiểu cấu trúc Java 31 a) Cấu trúc điều khiển rẽ nhánh 31 b) Mệnh đề switch – case 36 c) Cấu trúc lặp 38 Giới thiệu mảng 46 a) Mảng chiều Java 46 b) Khai báo, tạo thể khởi tạo mảng đa chiều 51 Tạo ArrayList 56 11 Các kiểu truy cập (Java Modifiers): 61 CHƯƠNG KẾ THỪA, TRỪU TƯỢNG VÀ ĐA HÌNH 72 Kế thừa Java 72 a) Khái niệm tính kế thừa (Inheritance) Java 72 b) Khai báo kế thừa Java 72 Tính trừu tượng (Abstraction) 75 a) Sử dụng Abstract Java 75 b) Sử dụng Interface Java 76 Tính đa hình (Polymorphism) Java 76 CHƯƠNG 79 XỬ LÝ NGOẠI LỆ 80 Giới thiệu ngoại lệ 80 Mục đích việc xử lý ngoại lệ 80 Xử lý ngoại lệ 80 Mơ hình xử lý ngoại lệ 80 CHƯƠNG 90 THIẾT KẾ GIAO DIỆN TRONG JAVA 91 Giới thiệu AWT 91 Giới thiệu Swing 92 Các thành phần thư viện Swing 93 Trình bày thành phần giao diện 102 Xử lý kiện 107 Trình bày giao diện với menu Java 111 CHƯƠNG 120 KẾT NỐI CƠ SỞ DỮ LIỆU VỚI JDBC 122 Tổng quan JDBC 122 Các thành phần JDBC thông dụng 122 Phân loại (JDBC Drivers Types) 122 CHƯƠNG 126 THIẾT LẬP KẾT NỐI JAVA VỚI CƠ SỞ DỮ LIỆU 126 Kết nối SQL Server 126 SQL Server JDBC connection string 127 Thiết lập kết nối (establish connection) 127 CHƯƠNG 134 Tài liệu giảng dạy mơn LậptrìnhJava PHÁT TRIỂN ỨNG DỤNG JAVA KẾT NỐI CƠ SỞ DỮ LIỆU 135 Xác định yêu cầu 135 Phân tích Thiết kế sở liệu 135 Thiết kế giao diện cho ứng dụng 135 Thiết lập xử lý nghiệp vụ 137 Kiểm thử ứng dụng 147 TÀI LIỆU THAM KHẢO 150 Tài liệu giảng dạy mơn LậptrìnhJava CHƯƠNG TỔNG QUAN VỀ NGÔN NGỮ JAVA Mục tiêu học tập: Sau học xong này, người học có thể: - Hiểu lịch sử phát triển ngơn ngữ Java - Các kiểu chương trìnhJava - Ðịnh nghĩa máy ảo Java - Sơ lược đặc trưng Java Lịch sử phát triển ngơn ngữ Java Ngơn ngữ lậptrìnhJava James Gosling công Công ty Sun Microsystem phát triển Ðầu thập niên 90, Sun Microsystem tập hợp nhà nghiên cứu thành lập nên nhóm đặt tên Green Team Nhóm Green Team có trách nhiệm xây dựng công nghệ cho ngành điện tử tiêu dùng Mặc dù C C++ có khả làm việc trình biên dịch lại phụ thuộc vào loại CPU Trình biên dịch thường phải tốn nhiều thời gian để xây dựng nên đắt Vì để loại CPU có trình biên dịch riêng tốn Do nhu cầu thực tế đòi hỏi ngôn ngữ chạy nhanh, gọn, hiệu độc lập thiết bị tức chạy nhiều loại CPU khác nhau, môi trường khác “Oak” đời có nhiều điểm tương tự C++ loại bỏ số tính nguy hiểm C++ có khả chạy nhiều phần cứng khác Cùng lúc world wide web bắt đầu phát triển Sun thấy tiềm ngôn ngữ Oak nên đầu tư cải tiến phát triển Sau khơng lâu ngôn ngữ với tên gọi Java đời giới thiệu năm 1995 Java tên gọi đảo Indonexia, Ðây nơi nhóm nghiên cứu phát triển chọn để đặt tên cho ngơn ngữ lậptrìnhJava chuyến tham quan làm việc đảo Hòn đảo Java nơi tiếng với nhiều khu vuờn trồng cafe, lý thường thấy biểu tuợng ly café nhiều sản phẩm phần mềm, cơng cụ lậptrìnhJava Sun số hãng phần mềm khác đưa Java ngơn ngữ lậptrình hướng đối tượng, khơng thể dùng Java để viết chương trình hướng chức Java giải hầu hết cơng việc mà ngơn ngữ khác làm Java ngôn ngữ vừa biên dịch vừa thông dịch Đầu tiên mã nguồn biên dịch cơng cụ JAVAC để chuyển thành dạng ByteCode Sau thực thi loại máy cụ thể nhờ chương trình thơng dịch Mục tiêu nhà thiết kế Java cho phép người lậptrình viết chương trình lần chạy phần cứng cụ thể Ngày nay, Java sử dụng rộng rãi để viết chương trình chạy Internet Nó ngơn ngữ lậptrình hướng đối tượng độc lập thiết bị, khơng phụ thuộc vào hệ điều hành Nó không dùng để viết ứng dụng chạy đơn lẻ hay mạng mà để xây dựng trình điều khiển thiết bị cho điện thoại di động, PDA, Các kiểu chương trìnhJava a) Applets Java Applet loại ứng dụng nhúng chạy trang web trình duyệt web Từ internet đời, Java Applet cung cấp khả lậptrình mạnh mẽ cho trang web Nhưng gần chương trình duyệt web phát triển với khả lậptrình VB Script, Java Script, HTML, DHTML, XML,… với canh tranh khốc liệt Microsoft Sun làm cho Java Applet lu mờ Và gần lậptrình viên khơng “mặn mà” với Java Applet (trình duyệt IE kèm phiên Windows 2000 khơng hỗ trợ thực thi ứng dụng Java Applet) Hình Tài liệu giảng dạy mơn LậptrìnhJava bên duới minh họa chuong trìnhjava applet thực thi trang web Hình 1: Giao diện chương trìnhJava kiểu Applet b) Ứng dụng thực thi qua dòng lệnh Các chương trình chạy từ dấu nhắc lệnh khơng sử dụng giao diện đồ họa Các thông tin nhập xuất thể dấu nhắc lệnh Hình 2: Cửa sổ chương trìnhJava thực thi qua dòng lệnh c) Ứng dụng đồ họa Ðây chương trìnhJava chạy độc lập cho phép người dùng tương tác qua giao diện đồ họa 2.3.4 Servlet Java thích hợp để phát triển ứng dụng nhiều lớp Applet chương trình đồ họa chạy trình duyệt máy trạm Ở ứng dụng Web, máy trạm gửi yêu cầu tới máy chủ Máy chủ xử lý gửi ngược kết trở lại máy trạm Các chương trìnhJava API chạy máy chủ giám sát trình máy chủ trả lời yêu cầu máy trạm Các chương trìnhJava API chạy máy chủ mở rộng khả ứng dụng Hình 3: Cửa sổ chương trìnhJava kiểu đồ họa Java API chuẩn Các ứng dụng máy chủ gọi Servlet Applet máy chủ Các xử lý Form HTML cách sử dụng đơn giản Servlet Chúng Tài liệu giảng dạy mơn LậptrìnhJava dùng để xử lý liệu, thực thi transaction thường thực thi qua máy chủ Web Hình 4: Chương trìnhJava kiểu Servlet d) Ứng dụng sở liệu Các ứng dụng sử dụng JDBC API để kết nối tới sở liệu Chúng Applet hay ứng dụng, Applet bị giới hạn tính bảo mật Máy ảo Java (JVM-Java Virtual Machine) Máy ảo phần mềm dựa sở máy tính ảo Nó có tập hợp lệnh logic để xác định hoạt dộng máy tính Người ta xem hệ điều hành thu nhỏ Nó thiết lập lớp trừu tuợng cho: Phần cứng bên dưới, hệ điều hành, mã biên dịch Trình biên dịch chuyển mã nguồn thành tập lệnh máy ảo mà không phụ thuộc vào phần cứng cụ thể Trình thơng dịch máy chuyển tập lệnh thành chương trình thực thi Máy ảo tạo môi truờng bên để thực thi lệnh cách: + Nạp file class Hình : Chương trìnhJava kết nối sở liệu + Quản lý nhớ + Dọn “rác” Việc không quán phần cứng làm cho máy ảo phải sử dụng ngăn xếp để lưu trữ thông tin sau: + Các “Frame” chứa trạng thái phuong pháp + Các toán hạng mã bytecode + Các tham số truyền cho phuong pháp + Các biến cục Tài liệu giảng dạy mơn LậptrìnhJava Thiết kế giao diện thực chức tìm theo mã sinh viên Tài liệu giảng dạy mơn LậptrìnhJava 149 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO ĐỂ BIÊN SOẠN NỘI DUNG MƠN HỌC: Đồn Văn Ban, Đồn Văn Trung ,Giáo trìnhlậptrình Java, NXB Giáo dục Việt Nam, 2011 Trần Tiến Dũng , Giáo Trình Lý Thuyết Và Bài Tập Java, NXB GIáo dục Việt Nam, 2015 Trần Thị Minh Châu - Nguyễn Việt Hà , Giáo trìnhLậptrình hướng đối tượng với Java, NXB Đại học Quốc gia Hà Nội, 2013 Đồn Văn Ban, Lậptrình hướng đối tượng với Java, NXB Khoa học Kỹ thuật Hà Nội, 2005 Trần Đức Linh, Core Java Sách Tiếng Việt, website:http://www.udatesofts.com website:http://www.v1study.com, LậptrìnhJava CAY S HORTMANN GARY CORNELL, Java Core Volumn I- Foundation (9th Edition), 2013 Tài liệu giảng dạy mơn LậptrìnhJava 150 ... cụ lập trình Java Sun số hãng phần mềm khác đưa Java ngôn ngữ lập trình hướng đối tượng, khơng thể dùng Java để viết chương trình hướng chức Java giải hầu hết công việc mà ngơn ngữ khác làm Java. .. lịch sử phát triển ngôn ngữ Java - Các kiểu chương trình Java - Ðịnh nghĩa máy ảo Java - Sơ lược đặc trưng Java Lịch sử phát triển ngôn ngữ Java Ngôn ngữ lập trình Java James Gosling cơng Công... ,Giáo trình lập trình Java, NXB Giáo dục Việt Nam, 2011 Trần Tiến Dũng , Giáo Trình Lý Thuyết Và Bài Tập Java, NXB GIáo dục Việt Nam, 2015 Trần Thị Minh Châu - Nguyễn Việt Hà , Giáo trình Lập trình