Bài giảng Bắt đầu với Java - Nguyễn Việt Hà
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Bắt đầu với Java - Nguyễn Việt Hà", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_bat_dau_voi_java_nguyen_viet_ha.pdf
Nội dung text: Bài giảng Bắt đầu với Java - Nguyễn Việt Hà
- Bắt đầuvớiJava
- Nội dung Lịch sử của Java Các đặctrưng cơ bản Java applications và Java applets Tạo ứng dụng Java đơn giản NguyễnViệtHà Bắt đầuvớiJava 2
- Lịch sử hình thành 1991: được Sun Microsystems phát triểnnhằmmục đích viết phần mềm điều khiển (phần mềm nhúng) cho các sảnphẩmgia dụng lúc đầu được đặt tên là Oak 1995: đượcphổ cậpvớisự phát triểnmạ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ệnnay, đượcchấp nhậnrộng rãi vớitư cách là một ngôn ngữ (công nghệ) đa dụng khả chuyển, an toàn hướng đốitượng, hướng thành phần NguyễnViệtHà Bắt đầuvớiJava 4
- Java là một công nghệ Java bao gồm Ngôn ngữ lậptrình Môi trường phát triển Môi trường thực thi và triểnkhai NguyễnViệtHà Bắt đầuvớiJava 5
- Mục tiêu củaJava Ngôn ngữ dễ dùng Khắc phục nhiều nhược điểm của các ngôn ngữ trước đó Hướng đối tượng Sáng sủa Môi trường thông dịch Tăng tính khả chuyển An toàn NguyễnViệtHà Bắt đầuvớiJava 6
- Mục tiêu củaJava Cho phép chạy nhiềutiến trình (threads) Nạpcáclớp (classes) động vào thời điểm cầnthiếttừ 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 NguyễnViệtHà Bắt đầuvớiJava 7
- 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) đượcthực thi trong môi trường thông dịch (máy ảo) NguyễnViệtHà Bắt đầuvớiJava 8
- 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 NguyễnViệtHà Bắt đầuvớiJava 9
- Đặctrưng củaJava JVM – máy ảo Java Cơ chế giải phóng bộ nhớ tự động Bảo mậtchương trình NguyễnViệtHà Bắt đầuvớiJava 10
- JVM - Máy ảoJava 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ấpdướidạng phầnmềm JRE - Java Runtime Environment Java platform: JVM + APIs NguyễnViệtHà Bắt đầuvớiJava 11
- Giải phóng bộ nhớ (Garbage Collection) Java cung cấp mộttiếntrìnhmứchệ thống để theo dõi việccấp phát bộ nhớ Garbage Collection Đánh dấuvàgiải phóng các vùng nhớ không còn đượcsử dụng Đượctiến hành tựđộng Cơ chế hoạt động phụ thuộc vào các phiên bản máy ảo NguyễnViệtHà Bắt đầuvớiJava 12
- Chống sao chép NguyễnViệtHà Bắt đầuvớiJava 13
- JDK Môi trường phát triểnvàthực thi do Sun Microsystems cung cấp ( Phiên bản hiện tại J2SDK 5.0 (1.5) 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 NguyễnViệtHà Bắt đầuvớiJava 14
- Công nghệ JIT Just-In-Time Code Generator NguyễnViệtHà Bắt đầuvớiJava 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 Đượcbắt đầubởiphương thức (hàm) main() là phương thức public static NguyễnViệtHà Bắt đầuvớiJava 16
- Chương trình Java đơn giản TestGreeting.java: public class public static method public class TestGreeting{ public static void main (String[] args) { System.out.println(”Hello, world”); } } class object message NguyễnViệtHà Bắt đầuvớiJava 17
- Biên dịch và thựchiện Biên dịch TestGreeting.java javac TestGreeting.java Thựchiện java TestGreeting Kếtquả Hello, world NguyễnViệtHà Bắt đầuvớiJava 18
- Một chút cảitiến TestGreeting.java: public class TestGreeting { public static void main(String[] args) { Greeting gr = new Greeting(); gr.greet(); } } Greeting.java: public class Greeting { public void greet() { System.out.print(”Hello, world”); } } NguyễnViệtHà Bắt đầuvớiJava 19
- Biên dịch và thựchiện Biên dịch TestGreeting.java javac TestGreeting.java Greeting.java được biên dịch tự động Thựchiện java TestGreeting Kếtquả Hello, world NguyễnViệtHà Bắt đầuvớiJava 20
- Java Applets Được nhúng trong một ứng dụng khác (web browser) Có giao diệnhạnchế (đồ 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) NguyễnViệtHà Bắt đầuvớiJava 21
- Applet đơn giản Welcome.java: // Java packages import java.awt.Graphics; import java.applet.Applet; public class Welcome extends Applet { public void paint(Graphics g) { // call superclass version of method paint super.paint(g); // draw a String g.drawString(”Welcome to Java programming!”, 25, 25); } } NguyễnViệtHà Bắt đầuvớiJava 22
- Nhúng vào trang Web Welcome.html: NguyễnViệtHà Bắt đầuvớiJava 23
- Thựchiện (trong webbrowser) NguyễnViệtHà Bắt đầuvớiJava 24
- Thựchiện appletviewer Welcome.html NguyễnViệtHà Bắt đầuvớiJava 25
- Các phương thứccủaApplet init(): khởitạo applet start(): khởi động applet mặc định sẽ gọi paint() stop(): dừng applet destroy(): giải phóng (hủy) applet NguyễnViệtHà Bắt đầuvớiJava 26
- Thực hành Đăng nhập vào website môn học Làm quen với môi trường phát triển Java trên Linux và Windows Tậpviếtcácứng dụng nhỏ các ví dụ trong bài giảng chuyểncácbàithực hành cơ bảncủamôn C/C++ sang Java NguyễnViệtHà Bắt đầuvớiJava 27
- Bài tập: Tìm hiểuvề Java Các kiểudữ liệucơ bản các kiểu số nguyên, kiểu ký tự, kiểu logic Từ khóa, cách đặt tên (lớp, phương thức, biến Các cấutrúcđiềukhiểncơ bản điềukiện vòng lặp switch NguyễnViệtHà Bắt đầuvớiJava 28