ỦY BAN NHÂN DÂN TP. HỒ CHÍ MINH TRƢỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC KHOA CÔNG NGHỆ THÔNG TIN GIÁO TRÌNH HỌC PHẦN: LẬP TRÌNH JAVA NGÀNH/NGHỀ: CÔNG NGHỆ THÔNG TIN TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số: … /QĐ-… ngày. Hồ Chí Minh, năm 2019 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 là vi phạm quyền tác giả.
LỜI GIỚI THIỆU Học phần Lập trình Java là học phần bắt buộc của ngành Công nghệ thông tin. Đây là học phần cơ bản về ngôn ngữ lập trình Java, là học phần nền tảng cho các học phần sau như lập trình Android và học phần Phát triển ứng dụng Java. Ở các học phần trước, sinh viên đã được làm quen về kỹ thuật lập trình, cấu trúc dữ liệu thì qua học phần Lập trình Java, sinh viên sẽ áp dụng các kiến thức kỹ thuật lập trình đã học và kết hợp kiến thức về ngôn ngữ lập trình Java để giải quyết các bài toán ứng dụng Java đơn giản. Giáo trình này được biên soạn dựa theo đề cương học phần “Lập trình Java” của Khoa Công nghệ thông tin – Trường Cao đẳng Công nghệ Thủ Đức.
Dù đã rất cố gắng, song sẽ không tránh khỏi những thiếu sót, rất mong nhận được sự góp chân thành t các qu đọc giả để giáo trình được hoàn thiện hơn. Hồ Chí Minh, ngày … tháng … năm 2019 Tác giả biên soạn Nguyễn Thị Hồng Mỹ MỤC LỤC CHƢƠNG 1. TỔNG QUAN VỀ JAVA. Giới thiệu ngôn ngữ lập trình Java.
Lịch sử phát triển của Java. Đặc trưng của Java. Các loại ứng dụng Java. Môi trường lập trình Java, máy ảo Java, JDK.
Môi trường phát triển Java. IDE để lập trình Java. Cấu trúc chương trình Java đơn giản. Các quy tắc cơ bản của ngôn ngữ Java.
Cú pháp comment trong Java. Quy tắc đặt tên trong Java. Biên dịch và thực thi chương trình Java. 18 Case Study Quản Lý Sinh Viên.
NỀN TẢNG JAVA CƠ BẢN. Cú pháp Java cơ bản. Kiểu dữ liệu và biến. Cấu trúc điều khiển.
Chuỗi (String) trong Java. Mảng một chiều, Mảng hai chiều. Một số thư viện thường dùng. Định dạng Formating.
Lớp và đối tượng trong Java. Đối tượng - Object. Phạm vi truy xuất. Đặc điểm hướng đối tượng trong Java.
Tính tr u tượng (Abstraction). Tính kế th a (Inheritance). 47 Case Study Quản Lý Sinh Viên. XỬ LÝ NGOẠI LỆ - EXCEPTION HANDLING.
Giới thiệu ngoại lệ Exception. Xử lý ngoại lệ Exception. Khối try/catch. Ủy nhiệm ngoại lệ throw, throws.
Ngoại lệ được kiểm tra và ngoại lệ không được kiểm tra. Định nghĩa một ngoại lệ mới. 58 Case Study Quản Lý Sinh Viên. ĐỌC FILE VÀ GHI FILE.
Đọc ghi file nhị phân. Đọc ghi file văn bản. Đọc ghi đối tượng. 71 Case Study Quản Lý Sinh Viên.
LẬP TRÌNH VỚI CƠ SỞ DỮ LIỆU. JDBC - Java Database Connectivity. Kết nối cơ sở dữ liệu bằng JDBC. Tạo ứng dụng JDBC đơn giản.
Ứng dụng 1: Thao tác với CSDL. Ứng dụng 2: Thao tác với CSDL dùng store procedure. 83 Case Study Quản Lý Sinh Viên. THIẾT KẾ GIAO DIỆN NGƢỜI DÙNG GUI.
Thành phần GUI. Một số thành phần cơ bản của GUI. Một số Layout thông dụng. Xử lý sự kiện.
Các hình vẽ cơ bản. 111 Case Study Quản Lý Sinh Viên. Phương thức Sort: Sử dụng interface Compareable, Comparator. Một số phương thức của lớp Collections.
130 Case Study Quản Lý Sinh Viên. THIẾT KẾ HƢỚNG ĐỐI TƢỢNG. Lớp tr u tượng Abstract class. Giao tiếp Interface.
Thiết kế ứng dụng. Sử dụng UML. Ứng dụng Quản l hóa đơn. Ứng dụng Bài toán tổng hợp (has-a, is-a, abstract class, Interface).
Mô hình MVC. 148 Case Study Quản Lý Sinh Viên. Tạo và quản lý Thread. Độ ưu tiên của Thread.
Đồng bộ các Thread. 167 Case Study Quản Lý Sinh Viên. 171 GIÁO TRÌNH HỌC PHẦN Tên học phần: Lập trình Java Mã học phần: Vị trí, tính chất, ý nghĩa và vai trò của học phần: - Vị trí: Đây là học phần chuyên ngành bắt buộc, hệ cao đẳng ngành công nghệ thông tin. - Tính chất: Học phần này cung cấp cho sinh viên kiến thức về ngôn ngữ lập trình Java, tư duy về lập trình và những kỹ thuật cần thiết trong lập trình để sinh viên có thể xây dựng được ứng dụng phần mềm Java đơn giản.
- Ý nghĩa và vai trò của học phần: Thông qua các hoạt động học tập sinh viên có thể hoàn thiện dần tính tư duy hệ thống và thói quen tuân thủ các quy định trong môi trường làm việc chuyên nghiệp. Mục tiêu của học phần: - Về kiến thức: Tổng hợp được kiến thức cơ bản về ngôn ngữ lập trình Java Trình bày cách xây dựng một ứng dụng theo lập trình hướng đối tượng. - Về kỹ năng: Thành thạo các công cụ IDE để phát triển Java Tạo được ứng dụng console và ứng dụng giao diện đồ họa GUI Phân tích thiết kế và xây dựng được ứng dụng Java tương tác với file hoặc cơ sở dữ liệu. - Về năng lực tự chủ và trách nhiệm: Rèn luyện thói quen tư duy hệ thống, học tập tích cực, chủ động.
Tuân thủ các yêu cầu về quy ước viết code. Giáo trình Lập trình Java CHƢƠNG 1. TỔNG QUAN VỀ JAVA Học xong chương này, người học có thể: + Trình bày kiến thức cơ bản về ngôn ngữ Java như: lịch sử phát triển của Java, các đặc điểm của ngôn ngữ Java, khái niệm máy ảo Java. + Liệt kê các quy tắc đặt tên cơ bản của ngôn ngữ Java.
+ Sử dụng bộ công cụ Eclipse/Netbean để viết chương trình, biên dịch và thực thi một ứng dụng Java đơn giản. GV biên soạn: Nguyễn Thị Hồng Mỹ Trang 1 Giáo trình Lập trình Java 1. Giới thiệu ngôn ngữ lập trình Java 1. Lịch sử phát triển của Java Ngôn ngữ lập trình Java được ra đời bởi tác giả là ông James Gosling và đồng nghiệp thuộc công ty Sun Microsystems vào đầu những năm 1990s.
Ban đầu ngôn ngữ này có tên gọi là Oak, đến năm 1993 được đổi tên thành Java. Năm 2010, Sun Microsystems được Oracle mua lại. James Gosling – Người tạo ra ngôn ngữ Java Các phiên bản Java đã phát hành: 1996 1997 1998 2000 2002 2004 2006 2010 2011 2014 2017 2018 JDK 1.4 J2SE5 Java SE 6 JDK 6.18 Java SE 7 JDK 8 JDK 9 JDK 10 Hình 1. Đặc trƣng của Java Đơn giản: Java là ngôn ngữ dễ học, không có thao tác con trỏ, không có file header, không có đa kế th a.
Trang 2 GV biên soạn: Nguyễn Thị Hồng Mỹ Giáo trình Lập trình Java Hƣớng đối tƣợng: Java là ngôn ngữ hoàn toàn hướng đối tượng, tất cả dữ liệu và hàm đều nằm trong một lớp nhất định. Độc lập nền tảng: Đối với ngôn ngữ khác, cần có các trình biên dịch khác nhau để biên dịch mã nguồn chương trình cho phù hợp với mỗi nền tảng (phần cứng và hệ điều hành) khác nhau. Ngôn ngữ Java được tạo ra với tiêu chí „Viết một lần, thực thi khắp nơi‟ (Write Once, Run Anywhere – WORA) nhờ có máy ảo Java. Với Java, trình biên dịch javac sẽ biên dịch mã nguồn thành mã bytecode (độc lập nền tảng).
Mã bytecode này được máy ảo Java (JVM - Java Virtual Machine) dịch thành mã máy thích hợp để thực thi chương trình trên các nền tảng khác nhau. public class MyProgram{ public static void main(String [] args){ System.println(“Welcome to Java!”); } } Compiler JVM JVM JVM Welcome to Welcome to Welcome to Java! Java! Java! Windows MacOS UNIX Hình 1. Java độc lập nền tảng nhờ có máy ảo Java An toàn: Java quản lý thực thi chương trình với nhiều mức để kiểm soát tính an toàn: dữ liệu và các phương thức được đóng gói bên trong lớp; trình biên dịch kiểm tra đảm bảo mã lệnh tuân theo các nguyên tắc của Java; trình thông dịch kiểm soát đảm bảo các quy GV biên soạn: Nguyễn Thị Hồng Mỹ Trang 3 Giáo trình Lập trình Java tắc an toàn trước khi thực thi; kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống. Phân tán: Java hỗ trợ lập trình phân tán.
Java RMI – Remote Method Invocation là một kỹ thuật cài đặt các đối tượng phân tán để giải quyết một số vấn đề trong việc truyền thông qua mạng giữa Client/Server. Đa luồng: Chương trình Java hỗ trợ cơ chế đa luồng (MultiThreading) để thực thi nhiều công việc đồng thời. Tự động thu gom rác: Máy ảo Java hỗ trợ cơ chế gom „rác‟ tự động. Các loại ứng dụng Java Ngôn ngữ java có thể dùng để viết nhiều loại ứng dụng như ứng dụng Desktop, game, ứng dụng website, ứng dụng Mobile, ứng dụng nhúng Embedded.
J2SE - Java 2 Standard Edition: Phát triển các ứng dụng cơ bản J2EE - Java 2 Enterprise Edition: Phát triển các ứng dụng nâng cao, như ứng dụng web J2ME - Java 2 Micro Edition: Phát triển các ứng dụng dùng cho thiết bị nhỏ, như ứng dụng di động, ứng dụng nhúng Android Studio và SDK (Software Development Kit): Phát triển ứng ứng dụng di động Hình 1. Các loại ứng dụng Java Trang 4 GV biên soạn: Nguyễn Thị Hồng Mỹ Giáo trình Lập trình Java 1. Môi trƣờng lập trình Java, máy ảo Java, JDK 1. Môi trƣờng phát triển Java Java Platform là tên cho một nhóm các chương trình cho phép phát triển và chạy chương trình viết bằng ngôn ngữ Java.
JDK: Java Development Kit JRE: Java Runtime Environment JVM: Java Virtual Machine + Development Tools javac Java Interpreter + Library jar Just in time classes Compiler javap Garbage Collector debugging tools Hình 1. Máy ảo Java (JVM - Java Virtual Machine) Máy ảo Java là môi trường để thực thi các file.class đã được biên dịch t ngôn ngữ lập trình Java. Máy ảo Java là một phần mềm dựa trên cơ sở máy tính ảo. JVM có thể liên kết làm việc với phần cứng và hệ điều hành.
Mỗi nền tảng/hệ điều hành khác nhau (Windows, IOS, Linux…) có một loại JVM khác nhau. JVM thực hiện 3 công việc chính: Class loader: Tải code (các class, resource), kiểm tra code Runtime Data Areas: Cung cấp môi trường runtime Execution Engine: Thực thi code GV biên soạn: Nguyễn Thị Hồng Mỹ Trang 5 Giáo trình Lập trình Java 1. Cấu trúc của JVM Class loader Loading Linking Initialization Bootstrap Verify class loader .