Bài giảng 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)
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 (Object Oriented Programming) - 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 (Object Oriented Programming) - 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_object_oriented_programm.pptx

