Bài giảng Bắt đầu với Java - Nguyễn Việt Hà

pdf 27 trang hapham 2060
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:

  • pdfbai_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à

  1. Bắt đầuvớiJava
  2. 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
  3. 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
  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
  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
  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
  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
  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
  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
  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
  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
  12. Chống sao chép NguyễnViệtHà Bắt đầuvớiJava 13
  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
  14. Công nghệ JIT Just-In-Time Code Generator NguyễnViệtHà Bắt đầuvớiJava 15
  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
  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
  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
  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
  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
  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
  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
  22. Nhúng vào trang Web Welcome.html: NguyễnViệtHà Bắt đầuvớiJava 23
  23. Thựchiện (trong webbrowser) NguyễnViệtHà Bắt đầuvớiJava 24
  24. Thựchiện appletviewer Welcome.html NguyễnViệtHà Bắt đầuvớiJava 25
  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
  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
  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