Bài giảng Lập trình hướng đối tượng - Chương 3: Giới thiệu Java
3.1. Lịch sử phát triển của Java
3.2. Đặc trưng của Java
3.3. Tổng quan lập trình Java
3.3.1. Kiểu dữ liệu cơ bản
3.3.2. Hằng, biến
3.3.3. Toán tử, biểu thức
3.3.4. Các cấu trúc lệnh trên Java (cấu trúc điều khiển, lặp)
3.4. Kiến trúc chương trình xây dựng trên Java
3.4. Case Study I ( simple programs & language)
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Chương 3: Giới thiệu Java", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Lập trình hướng đối tượng - Chương 3: Giới thiệu Java
Môn: Lập trình Hướng đối tượng(Object Oriented Programming) Chương 3. Giới thiệu Java Nội dung 3.1. Lịch sử phát triển của Java 3.2. Đặc trưng của Java 3.3. Tổng quan lập trình Java 3.3.1. Kiểu dữ liệu cơ bản 3.3.2. Hằng, biến 3.3.3. Toán tử, biểu thức 3.3.4. Các cấu trúc lệnh trên Java (cấu trúc điều khiển, lặp) 3. 4 . Kiến trúc chương trình xây dựng trên Java 3.4. Case Study I ( simple programs & language) 2 3.1. Lịch sử phát triển của Java 1991: được Sun Microsystems phát triển nhằm mục đích viết phần mềm điều khiển (phần mềm nhúng) cho các sản phẩm gia dụng lúc đầu được đặt tên là Oak 1995 : được phổ cập với sự phát triển mạnh mẽ của Internet thị trường phần mềm nhúng không phát triển mạnh WWW bùng nổ ( 1993~) Hiện nay , được chấp nhận rộng rãi với tư cách là một ngôn ngữ ( công nghệ) đa dụng khả chuyển , an toàn Hướng đối tượng , hướng thành phần 3 3.1. Lịch sử phát triển của Java (tt) Java là một công nghệ Java bao gồm Ngôn ngữ lập trình Môi trường phát triển Môi trường thực thi và triển khai 4 3.1. Lịch sử phát triển của Java (tt) Mục tiêu của Java Ngôn ngữ dễ dùng Khắc phục nhiều nhược điểm điểm của các ngôn ngữ trước đó Hướng đối tượng Rõ ràng Môi trường thông dịch Tăng tính khả chuyển An toàn Cho phép chạy nhiều tiến trình (threads) Nạp các lớp (classes) động vào thời điểm cần thiết từ nhiều nguồn khác nhau Cho phép thay đổi động phần mềm trong khi hoạt động Tăng độ an toàn 5 3.1. Lịch sử phát triển của Java (tt) Biên dịch và thông dịch Chương trình nguồn được biên dịch sang mã đích (bytecode) Mã đích (bytecode) được thực thi trong môi trường thông dịch (máy ảo ) Các dạng ứng dụng củaJava Desktop applications - J2SE Java Applications: ứng dụng Java thông thường trên desktop Java Applets: ứng dụng nhúng hoạt động trong trình duyệtweb Server applications - J2EE JSP và Servlets Mobile (embedded) applications – J2ME 6 3.2. Đặc trưng của Java JVM (Java Virtual Machine) – máy ảo Java Cơ chế giải phóng bộ nhớ tự động Bảo mật chương trình 7 3.2. Đặc trưng của Java (tt) JVM (Java Virtual Machine) – máy ảo Java Máy ảo phụ thuộc vào platform (phần cứng, OS) Cung cấp môi trường thực thi cho chương trình Java (độc lập với platform) Máy ảo đảm bảo an toàn cho hệ thống Máy ảo thông thường được cung cấp dưới dạng phần mềm JRE - Java Runtime Environment Java platform: JVM + APIs 8 3.2. Đặc trưng của Java (tt) Cơ chế giải phóng bộ nhớ tự động Java cung cấp một tiến trình mức hệ thống để theo dõi việc cấp phát bộ nhớ Garbage Collection Đánh dấu và giải phóng các vùng nhớ không còn được sử dụng Được tiến hành tự động Cơ chế hoạt động phụ thuộc vào các phiên bản máy ảo 9 3.2. Đặc trưng của Java (tt) Bảo mật chương trình – chống sao chép 10 3.2. Đặc trưng của Java (tt) JDK Java Development Kit Môi trường phát triểnvàthực thi do Sun Microsystems cung cấp (http:// oracle.com/ java) Phiên bản hiện tại J2SDK 8 .0 (1. 8 ) Bao gồm javac Chương trình dịch chuyển mã nguồn sang bytecode java Bộthông dịch: Thực thi java application appletviewer Bộthông dịch: Thực thi java applet mà không cần sử dụng trình duyệt như Nestcape, hay IE, v.v. javadoc Bộ tạo tài liệu dạng HTML từ mã nguồn và chú thích jdb Bộ gỡ lỗi (java debuger) javap Trình dịch ngược bytecode 11 3.2. Đặc trưng của Java (tt) Công nghệJIT Just-In-Time Code Generator 12 3.2. Đặc trưng của Java (tt) J ava Applications Chương trình ứng dụng hoàn chỉnh Giao diện dòng lệnh hoặc đồ họa Được bắt đầu bởi phương thức (hàm) main() là phương thức public static Java Applets Được nhúng trong một ứng dụng khác (web browser) Có giao diện hạn chế (đồ họa ) Không truy cập được tài nguyên của client Code n húng vào trang Web : Welcome.html : 13 3.3 . Tổng quan lập trình Java 3.3.1. Kiểu dữ liệu cơ bản 3.3.2. Hằng, biến 3.3.3. Toán tử, Biểu thức 3.3.4. Các cấu trúc lệnh trên Java (cấu trúc điều khiển, lặp) 14 3.3.1. Kiểu dữ liệu cơ bản Có 8 kiểu dữ liệu cơ bản trong Java. 4 kiểu biểu diễn số nguyên: byte , short , int , long 2 kiểu biểu diễn số thực: float , double 1 biễu diễn các ký tự: char Và 1 biểu diễn cho giá trị luận lý (true, false) : boolean 15 3.3.2. Hằng, biến Từ khóa Từ khóa cho các kiểu dữ liệu cơ bản : byte, short, int, long, float, double, char, boolean Từ khóa cho phát biểu lặp : do, while, for, break, continue Từ khóa cho phát biểu rẽ nhánh: if, else, switch, case, default, break Từ khóa đặc tả đặc tính một method: private, public, protected, final, static, abstract, synchronized, volatile.. Literal value: true, false, null Từ khóa liên quan đến method: return, void Từ khoá liên quan đến package: package, import Từ khóa cho việc quản lý lỗi: try, catch. finally, throw, throws Từ khóa liên quan đến đối tượng : new, extends, implements, class, instanceof, this, super 16 3.3.2. Hằng, biến (tt) Cách đặt tên Bắt đầu bằng ký tự, ký tự gạch dưới (underscore ‘_’ ) hay ký tự ‘$’ Sau đó là các ký tự ký số hay ‘_’, ‘$’ , không dùng các ký tự khác như: khoảng trống, ký hiệu phép toán Tên có tính chất phân biệt chữ thường chữ hoa (case-sensitive) 17 3.3.2. Hằng, biến (tt) Khai báo và sử dụng các biến Biến là một giá trị có thể thay đổi khi chương trình thực thi. Khi biến được tạo sẽ xuất hiện một vùng nhớ để lưu trữ giá trị của biến. 3 đặc điểm của biến: t ên biến, giá trị khởi tạo, tầm vực (scope) Scope của biến: khối chương trình mà biến có ý nghĩa (tham khảo được) Một biến phải được khai báo trước khi sử dụng (tên biến và kiểu dữ liệu ). Một biến có thể được khởi tạo giá trị khi khai báo biến. 18 int total; int count, temp, result; Kiểu dữ liệu Tên biến int sum = 0; int base = 32, max = 149; 3.3.2. Hằng, biến (tt) Hằng số (constant) Một hằng tương tự như biến như giá trị của nó luôn luôn không đổi. Trình biên dịch sẽ phát sinh lỗi nếu ta cố tình thay đổi giá trị của hằng. Trong Java, ta dùng final để khai báo hằng . final int MIN_HEIGHT = 69 ; Phép gán làm thay đổi giá trị của một biến. Toán tử gán (=). Toán tử gán mở rộng +=, -=, *=, /=, %= 19 total = 55; 3.3.3. Toán tử, biểu thức (tt) Các toán tử số học : Toán tử tăng / giảm Toán tử tăng (++) Toán tử giảm (--) Câu lệnh count ++; tương đương với count = count + 1 ; 20 Cộng Trừ Nhân Chia Chia lấy số dư + - * / % 3.3.3. Toán tử, biểu thức (tt) Toán tử so sánh (quan hệ) == bằng != không bằng < nhỏ hơn > lớn hơn <= nhỏ hơn hoặc bằng >= lớn hơn hoặc bằng Toán tử luận lý ! : not && : and || : or 21 3.3.3. Toán tử, biểu thức (tt) Toán tử điều kiện Cú pháp: điều_kiện ? biểu_thức1:biểu_thức2 Nếu điều_kiện là true, biểu_thức1 được thực thi; Nếu là false, biểu_thức2 được thực thi . Các biểu thức Một biểu thức là một sự kết hợp giữa các toán tử và các toán hạng . Nếu trong biểu thức có chứa số thực thì kết quả trả về số thực . Lưu ý độ ưu tiên của các toán tử trong 1 biểu thức 22 3.3.3. Toán tử, biểu thức (tt) instanceof : toán tử kiểm tra 1 đối tượng có thuộc 1 lớp nào đó true | false class InstanceOfDemo { public static void main (String args[]) { InstanceOfDemo t = new InstanceofDemo(); if ( t instanceof InstanceOfDemo) System.out.println(“ Yes”); else System.out.println(“ NO”); } } 23 Cấu trúc điều khiển – Rẽ nhánh 24 3.3.4. Các cấu trúc lệnh trên Java Cấu trúc if if (Condition) { Statements; } else { Statement; } Cấu trúc switch switch (Expression) { case Cons1: Statements; break ; case Cons2: Statements; break ; . . . default : Statements; } Cấu trúc điều khiển – Rẽ nhánh (tt) Thường một lệnh break được dùng ở cuối danh sách lệnh của mỗi case. Một cấu trúc switch có thể có một case default Kết quả của biểu_thức trong switch phải là kiểu số nguyên ( byte , short , int , long ) hoặc char. Không thể là boolean hoặc số thực ( float , double ) 25 3.3.4. Các cấu trúc lệnh trên Java Cấu trúc lặp 26 3.3.4. Các cấu trúc lệnh trên Java (tt) while (condition) { Statements; } do { Statements; } while (condition); for ( varInit ; Condition ; Statements) { Statements1; } 3.4. Kiến trúc chương trình xây dựng trên Java Chương trình nguồn (source code) được viết bằng ngôn ngữ Java Các chương trình được biên dịch thành các file dạng lớp (*. class) Các file .class được nạp vào bộ nhớ và thực thi bởi máy ảo Java (JVM) 27 Hello.java Java Compiler Hello.class Run-Time Environment Java Virtual Machine Object.class String.class Java API class files 3.4. Kiến trúc chương trình (tt) JVM và Java “bytecode ” Chương trình Java không biên dịch mã nguồn thành ngôn ngữ máy đích mà biên dịch thành file dạng “bytecode” – file *.class Mỗi HĐH sẽ có thể hiện riêng của máy ảo Java – JVM Mã bytecode làm việc với JVM và JVM làm việc với HĐH 28 3.4. Kiến trúc chương trình (tt) Các thành phần chính của một tập tin mã nguồn java Gói – Package, Thư viện có sẵn – Library, Lớp – Class Package Các class được lưu trong một khối thống nhất gọi là package Cú pháp: package ; Các gói có thể được lồng vào nhau như cấu trúc thư mục Ưu điểm: Các lớp được tổ chức riêng trong các gói riêng Trong một gói không các lớp không trùng tên, trong một dự án lớn việc trùng tên các gói khác nhau. Dễ quản lý trong các dự án lớn Tên lớp có thể dùng định danh đối tượng 29 3.4. Kiến trúc chương trình (tt) Library Dùng thư viện có sẵn Cú pháp: import ; Ví dụ: import java.util.*; import java.io.File, Class Cú pháp class ClassName { //fields, constructors // method declaration } 30 3.4. Kiến trúc chương trình (tt) 31 Tên của lớp Sử dụng quy tắc đặt tên Luôn viết hoa chữ cái đầu tiên Dùng danh từ để đặt tên Dữ liệu thành phần Là những dữ liệu cần phải có Khởi tạo Định nghĩa cách thức thể hiện 1 đối tượng Có tên giống tên lớp Giống như hàm trong C nhưng không có kiểu dữ liệu trả về Các phương thức (method) Những hành vi có thể thực hiện Như hàm trong C Sử dụng động từ để đặt tên Luôn viết thường chữ cái đầu tiên 3.4. Kiến trúc chương trình (tt) Để thực thi chương trình, trình ứng dụng Java (Java application) bắt buộc phải có 1 lớp mà trong đó định nghĩa phương thức main. Phương thức main() trong lớp public được triệu hồi bởi JVM để bắt đầu thực thi ứng dụng. 32 3.4. Kiến trúc chương trình (tt) Đối tượng phải được tạo trước khi được sử dụng trong chương trình. Khai báo 1 biến để lưu giữ tham chiếu đến đối tượng (đối tượng chỉ có thể được thao tác thông qua tham chiếu) Tạo đối tượng: bằng cách sử dụng toán tử new (ngầm định gọi đến hàm khởi tạo – hàm dựng) 33 3.4. Kiến trúc chương trình (tt) Gọi phương thức Sử dụng toán tử dấu chấm (the '.' operator) Cú pháp (Syntax): ‘.’ 34 35
File đính kèm:
- bai_giang_lap_trinh_huong_doi_tuong_chuong_3_gioi_thieu_java.pptx