Bài giảng Lập trình hướng đối tượng - Chương 2: Ngôn ngữ lập trình Java giới thiệu tới người học lịch sử ngôn ngữ Java, giới thiệu các IDE cơ bản, cách biên dịch và chạy chương trình Java, các kiểu dữ liệu và cấu trúc dữ liệu cơ bản trong Java, phương thức trong Java,... Mời các bạn cùng tham khảo nội dung chi tiết.
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (Object Oriented Programming) Chương Ngơn ngữ lập trình Java TRẦN MINH THÁI Email: minhthai@huflit.edu.vn Website: www.minhthai.edu.vn Cập nhật: 11 tháng 05 năm 2016 Nội dung #2 Lịch sử ngôn ngữ Java Giới thiệu IDE Cách biên dịch chạy chương trình Java Các kiểu liệu cấu trúc liệu Java Phương thức Java Khai báo phương thức Phương thức tĩnh Nạp chồng phương thức #3 Cơ ngôn ngữ Java Lịch sử ngôn ngữ Java #4 James Gosling nhóm kỹ sư Sun Microsystems bắt đầu dự án ngôn ngữ Java vào tháng năm 1991 để lập trình điều khiển thiết bị điện tử (tivi, máy giặt, tủ lạnh, …) Ngôn ngữ nhanh, gọn, hiệu độc lập thiết bị Ra đời 1995, tên gọi ban đầu “Oak” sau đổi tên thành “Java” Kế thừa cú pháp C & đặc trưng Hướng đối tượng C++ Lịch sử ngơn ngữ Java #5 • Tháng 6/1995 Sun giới thiệu ngơn ngữ Java (Java 1.0) • 13/11/2006, Sun phát hành Java với phần lớn miễn phí phần mềm mã nguồn mở theo điều khoản GNU, General Public License (GPL) • Ngày 08/05/ 2007, Sun cung cấp miễn phí code lõi Java open-source Lịch sử ngơn ngữ Java #6 Các phiên • Nền tảng J2SE (Java Standard Edition) tiêu chuẩn • Nền tảng J2EE (Java Enterprise Applications Edition) cho ứng dụng doanh nghiệp • Nền tảng J2ME (Java Mobile Applications Edition) cho ứng dụng di động Ngơn ngữ Java #7 • Là ngôn ngữ hướng đối tượng (Object Oriented Programming) đầy đủ: khơng thể viết theo hướng thủ tục • Cho phép tạo Application Applet (chạy trình duyệt có hỗ trợ Java) • Sử dụng chế: Interpreter | Compiler • Viết lần (Write Once), Chạy thiết bị khác (Run Anywhere) Đặc điểm ngôn ngữ Java #8 Đơn giản (Simple) Hoàn toàn hướng đối tượng (Object Oriented) Độc lập phần cứng hệ điều hành (Platform independent) Bảo mật (Secure) Mạnh mẽ (Robust) Đa luồng (Multithreading) Hiệu suất cao (High performance) Phân tán (Distributed) Linh động (Dynamic) Đặc điểm ngôn ngữ Java #9 Đơn giản: Java thiết kế để dễ học, quen thuộc Nếu hiểu khái niệm OOP, dễ dàng làm chủ Java Loại bỏ đặc trưng phức tạp: Con trỏ Định nghĩa chồng toán tử Đa kế thừa thay interface Loại bỏ struct union … Đặc điểm ngôn ngữ Java #10 • Hướng đối tượng: Mọi thứ đối tượng Java dễ dàng mở rộng kể từ dựa mơ hình đối tượng • Độc lập phần cứng hệ điều hành: Khi Java biên dịch, khơng biên dịch vào tảng cụ thể mà bytecode Bytecode thông dịch máy ảo (JVM) tùy vào tảng mà thực thi Khơng cần biên dịch lại mã nguồn Nạp chồng phương thức #109 Xử lý Exception #110 Exception loại lỗi đặc biệt xuất vào lúc thực thi chương trình (run-time) Các trạng thái khơng bình thường xảy thi hành chương trình tạo Exception Nếu khơng xử lý trạng thái chương trình bị kết thúc đột ngột Ví dụ chia cho 0, nhập sai định dạng, mở file không tồn tại, tràn nhớ, … Một số ngoại lệ #111 Ngoại lệ Ý nghĩa Lớp sở cho nhiều ngoại RuntimeException lệ java.lang Lỗi số học, ví dụ ArthmeticException ‘chia cho 0’ IllegalAccessException Lớp truy cập IllegalArgumentException Đối số không hợp lệ ArrayIndexOutOfBoundsExeption Lỗi tràn mảng Khi truy cập đối tượng NullPointerException null Cơ chế bảo mật không cho SecurityException phép thực ClassNotFoundException Không thể nạp lớp yêu cầu Một số ngoại lệ #112 Ngoại lệ Ý nghĩa Việc chuyển đổi từ chuỗi sang số NumberFormatException không thành công AWTException Ngoại lệ AWT IOException Lớp cha lớp ngoại lệ I/O FileNotFoundException Không thể định vị tập tin EOFException Kết thúc tập tin NoSuchMethodException Phương thức yêu cầu không tồn InterruptedException Khi luồng bị ngắt Mơ hình xử lý ngoại lệ #113 try { Đoạn lệnh có khả gây ngoại lệ } catch(Exception e1) { Xử lý ngoại lệ e1 } catch(Exception e2) { Xử lý ngoại lệ e2 } catch(Exception eN) { Xử lý ngoại lệ eN } finally { Khối lệnh thực cho dù có ngoại lệ hay khơng } Ví dụ #114 Ví dụ #115 Ví dụ #116 Uỷ nhiệm Exception #117 • throw: lệnh chuyển Exception khối try phương thức để giao cho cho phương thức khác xử lý xử lý catch • throws: liệt kê số Exception có phương thức Nếu khơng xử lý Exception catch định nghĩa phương thức bắt buộc phải xử lý phương thức khác có sử dụng phương thức Uỷ nhiệm Exception #118 Ví dụ #119 Tự định nghĩa Exception #120 Tự định nghĩa Exception #121 Bài tập #122 • Bổ sung ví dụ tự định nghĩa Exception bên trên, để bẫy lỗi cho trường hợp người dùng nhập vào giá trị không định dạng hay giới hạn kích thước biến • Nếu nhập khơng hợp lệ cho phép người dùng nhập lại cho Q&A #123 ... (dấu a) abs(a) % abs(b); Ví dụ: -5 % = -2 ; -5 % -3 = -2 ; % = 2; % -3 = Phép tốn ngơi (Unary) #39 Operator Sử dụng Mô tả + +op Trả kết int op kiểu byte, short, char - -op Trả kết đảo dấu op Phép toán... javac -version java -version Sử dụng IDE Eclipse #22 • Tạo Project Sử dụng IDE Eclipse #23 • Tạo Project - Đặt tên Project - Chọn Finish Sử dụng IDE Eclipse #24 Tạo class Sử dụng IDE Eclipse #25 ... Loại bỏ struct union … Đặc điểm ngôn ngữ Java #10 • Hướng đối tượng: Mọi thứ đối tượng Java dễ dàng mở rộng kể từ dựa mơ hình đối tượng • Độc lập phần cứng hệ điều hành: Khi Java biên dịch, khơng