lẬp trÌnh java cƠ bẢn
TRANSCRIPT
LẬP TRÌNH JAVA CƠ BẢNGV phụ trách: Võ Thị Diễm Hương
Nội dung học phần:
Chương 1: Giới thiệu tổng quan về ngôn ngữ Java
Chương 2: Nền tảng ngôn ngữ Java
Chương 3: Hướng đối tượng trong Java
Chương 4: Cách đóng gói thư viện và các gói cơ bản
Chương 5: Các dòng nhập xuất
Chương 6: Lập trình GUI với AWT và SWING
Chương 1: Giới thiệu tổng quan về ngôn ngữ Java
1.1. Vài nét về lịch sử của ngôn ngữ Java
1.2. Các đặc tính của ngôn ngữ Java
1.3. Các dạng ứng dụng của Java
1.4. Máy ảo Java (JVM)
1.5. Bộ công cụ phát triển Java (JDK)
1.6. Thư viện lõi API của Java
1.1. Vài nét về lịch sử của ngôn ngữ Java
1991, một nhóm kỹ sư của Sun Microsystems,
đứng đầu là James Gosling được giao nhiệm
vụ viết chương trình điều khiển các thiết bị điện
tử (dự án Green).
Nhận thấy ngôn ngữ C++ có những hạn chế:
khi chuyển sang chạy trên một hệ thống máy
có bộ vi xử lý khác thì đòi hỏi phải biên dịch lại.
Green Team quyết định xây dựng một ngôn
ngữ mới nhanh, gọn, hiệu quả, độc lập với thiết
bị dựa trên nền ngôn ngữ C/C++ và đặt tên là
Oak (cây sồi).
Năm 1995 Oak đổi tên chính thức là Java.
1.1. (tt)
Java là một hòn đảo của Indonesia là nơi
đâu tiên sản xuất ra café cho nên biểu
tượng của Java là ly café.
Ngày 27 tháng 1 năm 2010, Sun bị hãng
Oracle Corporation mua với giá 7,4 tỷ USD.
Một tháng sau đó, Sun được nhập với
Oracle để trở thành Oracle America, Inc.
Oracle đã mô tả họ là "người quản lý công
nghệ Java với cam kết không ngừng bồi
dưỡng một cộng đồng tham gia Java và
minh bạch.”
1.2. Các đặc tính của Java
Java có rất nhiều đặc tính, nhưng khoá học này chỉ chỉ giới thiệu 7
đặc tính đặc trưng quan trọng nhất trong Java:
◦ Tính Đơn giản (Simple)
◦ Tính Hướng đối tượng (Object-oriented)
◦ Tính Độc lập nền (platform independent)
◦ Tính Mạnh mẽ (Robust)
◦ Tính Bảo mật (Secured)
◦ Tính Phân tán (Distributed)
◦ Tính Đa luồng (Multithreaded)
1.2. Các đặc tính của Java – Tính đơn giản
Cấu trúc ngữ pháp được xây dựng trên cơ sở của C++, giúp các
lập trình viên dễ dàng học và làm quen khi đã biết C/C++.
Không sử dụng con trỏ tường minh
Không đa thừa kế
Cấp phát và dọn dẹp bộ nhớ tự động
1.2. Các đặc tính của Java – Tính Hướng đối tượng
Java là Ngôn ngữ hướng đối tượng thuần khiết, không đoạn code
nào của Java nằm bên ngoài phạm vi lớp.
Mọi thứ trong Java đều liên quan đến các đối tượng được định
nghĩa trước.
1.2. Các đặc tính của Java – Tính Độc lập nền
Phương châm “Write once, Run everywhere”: Viết một lần
chạy được mọi nơi.
Chương trình viết trên một nền (platform) và có thể chạy
trên mọi nền có cài máy ảo Java.
Nền tảng Java bao gồm 2 phần :
◦ Runtime Enviroment (JRE)
◦ API (Application programming interface)
Java code có thể chạy trên rất nhiều nền như
Windows, Linux, Sun Solaris, MacOS, …
1.2. Các đặc tính của Java – Tính Mạnh mẽ
Java là một ngôn ngữ mạnh mẽ vì nó hỗ trợ phát triển trên
nhiều nền tảng khác nhau.
Cơ chế cấp phát và dọn dẹp bộ nhớ tự động.
Cơ chế kiểm tra kiểu mạnh – khai báo kiểu tường minh.
Cơ chế xử lí ngoại lệ xây dựng sẵn.
1.2. Các đặc tính của Java – Tính Bảo mật
Java là một ngôn ngữ bảo mật bởi các lý do sau:
◦ Java không yêu cầu khai báo 1 biến là một Con trỏ, thay vào đó nó
sẽ tự hiểu đó có phải là một Con trỏ không.
◦ Tất cả các chương trình viết bằng Java đều chạy trong một máy ảo
Java (JVM).
◦ Bytecode verifier: Kiểm tra và phát hiện mã code có thể truy cập trái
phép vào các đối tượng khác và có thể gây hại cho các đối tượng
đó.
◦ Security Manager: Phát hiện những tài nguyên một Lớp được phép
truy cập.
◦ Kiểm tra giới hạn chỉ số mảng.
1.2. Các đặc tính của Java – Tính Phân tán
Hỗ trợ công nghệ lập trình RMI, CORBA, JavaBean cho phép sử
dụng lại các lớp đã tạo ra, triệu gọi các phương thức hoặc đối
tượng từ một máy ở xa.
1.2. Các đặc tính của Java – Tính Đa luồng
Một luồng (Thread) giống như một chương trình riêng biệt, có thể
chạy song song cùng lúc.
Đặc điểm quan trọng nhất của đa luồng là việc các luồng có thể
chia sẻ tài nguyên trên hệ thống, giúp chương trình hoạt động
nhanh hơn, tăng hiệu năng cho chương trình và tận dụng hết tài
nguyên của máy.
14
Desktop applications - J2SE
◦ Phiên bản chuẩn – Java 2 Platform, Standard Edition.
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ệt
web
1.3. Các dạng ứng dụng của Java
15
Java 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 main() là phương thức public
static
1.3. Các dạng ứng dụng của Java (tt)
16
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 (không thực hiện
được các hành vi xấu)
1.3. Các dạng ứng dụng của Java (tt)
17
Server applications - J2EE
◦ Nền tảng Java 2, phiên bản doanh nghiệp - Java 2 Platform,
Enterprise Edition
◦ Chạy trên máy chủ lớn với sức mạnh xử lý và dung lượng bộ
nhớ lớn, hỗ trợ gắn liền với servlet, jsp và XML.
1.3. Các dạng ứng dụng của Java (tt)
18
Mobile (embedded) applications – J2ME
◦ Phiên bản thu nhỏ - Java 2 Platform, Micro Edition
1.3. Các dạng ứng dụng của Java (tt)
1.4. Máy ảo Java (JVM) Tất cả các chương trình muốn thực thi được thì phải được biên dịch ra mã
máy.
Mã máy của từng kiến trúc CPU của mỗi máy tính là khác nhau (tập lệnh
mã máy của CPU Intel, CPU Solarix, CPU Macintosh … là khác nhau).
Vì vậy trước đây một chương trình chạy được trên Windows muốn chạy
được trên hệ điều hành khác (như Linux chẳng hạn) thì phải chỉnh sửa và
biên dịch lại.
Ngôn ngữ lập trình Java ra đời, nhờ vào máy ảo Java mà khó khăn nêu trên
đã được khắc phục.
Khi cài đặt JDK cũng có nghĩa là đã cài đặt máy ảo Java (nó có thể được
xem là bộ Thông dịch Java – một phần của bộ JDK)
Máy ảo Java tạo ra một môi trường để thực thi các lệnh bằng cách:
◦ Nạp các file .class
◦ Quản lý bộ nhớ
◦ Dọn “rác”
1.1. (tt)
Các phiên bản Java đã phát hành:◦ JDK 1.0 công bố: 23 tháng 01, 1996
◦ JDK 1.1 công bố: 19 tháng 2, 1997
◦ J2SE 1.2 công bố: 08 tháng 12, 1998 (Java 2)
◦ J2SE 1.3 công bố: 08 tháng 5, 2000
◦ J2SE 1.4 công bố: 06 tháng 02, 2002
◦ J2SE 1.5 công bố: 30 tháng 9, 2004
◦ Java SE 6 công bố: 11 tháng 12, 2006
◦ Java SE 7 công bố: 28 tháng 7, 2011
◦ Java SE 8 công bố: 18 tháng 3, 2014
◦ Java SE 9 công bố: 21 tháng 9, 2017
◦ Java SE 10 công bố: 20 tháng 3, 2018
◦ Java SE 11
1.5. Bộ công cụ phát triển Java (JDK)
JDK – Java Development Kit (hay còn gọi là Software Development Kit– SDK):◦ Là một tập hợp những công cụ phần mềm được phát triển bởi Sun Microsystems
dành cho các nhà phát triển phần mềm bằng Java.
Bộ JDK bao gồm:
◦ javac Chương trình dịch chuyển mã nguồn sang bytecode
◦ java Bộ thông dịch cho java
◦ appletviewer Bộ thông dịch cho java applet mà không cần sử dụng trìnhduyệt như Nestcape, FireFox 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 debugger)
◦ javap Trình dịch ngược bytecode
◦ jar Dùng để đóng gói lưu trữ các module viết bằng Java (tạo ra file đuôi.jar), là phương pháp tiện lợi để phân phối những chương trình Java.
1.5. Bộ công cụ phát triển Java (JDK) -tt
Các phiên bản của JDK:
◦ Các phiên bản của JDK cũng chính là các phiên bản của Java.
Cài đặt JDK:
◦ Download JDK:
http://www.oracle.com/technetwork/java/javase/downloads/index.ht
ml
◦ Chọn bản:
1.6. Thư viện lõi API của Java
Giao diện lập trình ứng dụng (API), trong ngữ cảnh của Java, là một bộsưu tập các gói, lớp học và giao diện đã được viết sẵn với các phươngthức, trường và nhà xây dựng tương ứng. Tương tự như giao diệnngười dùng, tạo thuận lợi cho sự tương tác giữa con người và máy tính,một API hoạt động như một giao diện chương trình phần mềm tạo điềukiện tương tác.
Trong Java, hầu hết các tác vụ lập trình cơ bản được thực hiện bởi cáclớp và gói của API, giúp giảm thiểu số dòng được viết bằng các mẩumã.
Bộ phát triển Java (JDK) bao gồm ba thành phần cơ bản, như sau:◦ Trình biên dịch Java
◦ Máy ảo Java (JVM)
◦ Giao diện lập trình ứng dụng Java (API)
1.6. Thư viện lõi API của Java
API là một thư viện các lớp, gói và giao diện Java có sẵn. Ba loại
API như sau:
◦ Chính thức Java lõi API, được kèm với tải về JDK
◦ API Java chính thức tùy chọn, có thể được tải xuống nếu cần
◦ Các API không chính thức, là các API của bên thứ ba có thể được tải
xuống từ các trang web nguồn
Tham khảo: http://v1study.com/java-cac-api-cua-java-ee.html
Hướng dẫn cài đặt:
http://kienthucandroid.blogspot.com/2013/07/gioi-thieu-va-cai-at-jdk-
eclipse-plugin.html
https://o7planning.org/vi/10379/huong-dan-cai-dat-va-cau-hinh-eclipse
https://anphanhv.wordpress.com/2015/03/23/cai-dat-moi-truong-lap-trinh/
https://freetuts.net/huong-dan-cai-dat-cau-hinh-va-thiet-lap-bien-moi-truong-
cho-java-1024.html
https://tiendv.wordpress.com/2011/10/11/h%C6%B0%E1%BB%9Bng-
d%E1%BA%ABn-cai-d%E1%BA%B7t-va-c%E1%BA%A5u-hinh-
l%E1%BA%ADp-trinh-j2ee-tren-eclipse-va-netbeans/
Các bước cài đặt:
B1: Cài đặt Java (JDK+JRE)
B2: Cài đặt IDE – môi trường lập trình (Eclipse/ Netbeans/...)
B3: Thiết lập biến môi trường (https://freetuts.net/huong-dan-cai-
dat-cau-hinh-va-thiet-lap-bien-moi-truong-cho-java-1024.html)
nếu cần.
Xem hướng dẫn viết chương trình Java đơn giản
https://choimobile.vn/threads/bai-2-cau-truc-mot-chuong-trinh-
java-co-ban-va-chay-chuong-trinh-dau-tien.37022/