BÀI GIẢNG MÔN LẬP TRÌNH JAVA

91 123 0
BÀI GIẢNG MÔN LẬP TRÌNH JAVA

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LẬP TRÌNH JAVA Java Programming Language Chương 1: TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH JAVA 1.1 Mở đầu Chương cung cấp cho sinh viên khái niệm, kiến thức liên quan đến việc lập trình ứng dụng ngơn ngữ Java như: lịch sử phát triển java, đặc điểm java, khái niệm máy ảo, cấu trúc chương trình đơn giản viết Java cách xây dựng, dịch thực thi chương trình Java 1.2 Giới thiệu ngơn ngữ lập trình Java 1.2.1 Java gì? Java ngơn ngữ lập trình hướng đối tượng (tựa C++) Sun Microsystem đưa vào thập niên 90 Chương trình viết ngơn ngữ lập trình java chạy hệ thống có cài máy ảo java (Java Virtual Machine) 1.2.2 Lịch sử phát triển ngơn ngữ lập trình Java Ngơn ngữ lập trình Java James Gosling cơng Công ty Sun Microsystem phát triển Đầu thập niên 90, Sun Microsystem tập hợp nhà nghiên cứu thành lập nên nhóm đặt tên Green Team Nhóm Green Team có trách nhiệm xây dựng cơng nghệ cho ngành điện tử tiêu dùng Để giải vấn đề nhóm nghiên cứu phát triển xây dựng ngơn ngữ lập trình đặt tên Oak tương tự C++ loại bỏ số tính nguy hiểm C++ có khả chạy nhiều phần cứng khác Cùng lúc world wide web bắt đầu phát triển Sun thấy tiềm ngôn ngữ Oak nên đầu tư cải tiến phát triển Sau khơng lâu ngôn ngữ với tên gọi Java đời giới thiệu năm 1995 Java tên gọi đảo Indonexia, Đây nơi nhóm nghiên cứu phát triển chọn để đặt tên cho ngơn ngữ lập trình Java chuyến tham quan làm việc đảo Hòn đảo Java nơi tiếng với nhiều khu vườn trồng cafe, lý thường thấy biểu tượng ly café nhiều sản phẩm phần mềm, cơng cụ lập trình Java Sun số hãng phần mềm khác đưa 1.2.3 Một số đặc điểm bậc ngôn ngữ lập trình Java Máy ảo Java (JVM - Java Virtual Machine) Tất chương trình muốn thực thi phải biên dịch mã máy Mã máy kiến trúc CPU máy tính khác (tập lệnh mã máy CPU Intel, CPU Solarix, CPU Macintosh … khác nhau), trước chương trình sau biên dịch xong chạy kiến trúc CPU cụ thể Đối với CPU Intel chạy hệ điều hành Microsoft Windows, Unix, Linux, OS/2, … Chương trình thực thi Windows biên dịch dạng file có EXE Linux biên dịch dạng file có ELF, trước chương trình chạy Windows muốn chạy hệ điều hành khác Linux chẳng hạn phải chỉnh sửa biên dịch lại Ngơn ngữ lập trình Java đời, nhờ vào máy ảo Java mà khó khăn nêu khắc phục Một chương trình viết ngơn ngữ lập trình Java biên dịch mã máy ảo java (mã java bytecode) Sau máy ảo Java chịu trách nhiệm chuyển mã java bytecode thành mã máy tương ứng Sun Microsystem chịu trách nhiệm phát triển máy ảo Java chạy hệ điều hành kiến trúc CPU khác Thông dịch: Java ngơn ngữ lập trình vừa biên dịch vừa thơng dịch Chương trình nguồn viết ngơn ngữ lập trình Java có *.java biên dịch thành tập tin có *.class sau trình thơng dịch thơng dịch thành mã máy Độc lập nền: Một chương trình viết ngơn ngữ Java chạy nhiều máy tính có hệ điều hành khác (Windows, Unix, Linux, …) có cài đặt máy ảo java (Java Virtual Machine) Viết lần chạy nơi (write once run anywhere) Hướng đối tượng: Hướng đối tượng Java tương tự C++ Java ngôn ngữ lập trình hướng đối tượng hồn tồn Tất thứ đề cập đến Java liên quan đến đối tượng định nghĩa trước, chí hàm chương trình viết Java (đó hàm main) phải đặt bên lớp Hướng đối tượng Java khơng có tính đa kế thừa (multi inheritance) C++ mà thay vào Java đưa khái niệm interface để hỗ trợ tính đa kế thừa Vấn đề bàn chi tiết chương Đa nhiệm - đa luồng (MultiTasking - Multithreading): Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình chạy song song thời điểm tương tác với Khả chuyển (portable): Chương trình ứng dụng viết ngôn ngữ Java cần chạy máy ảo Java chạy máy tính, hệ điều hành có máy ảo Java “Viết lần, chạy nơi” (Write Once, Run Anywhere) Hỗ trợ mạnh cho việc phát triển ứng dụng: Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia Sun Microsystem” cung cấp nhiều cơng cụ, thư viện lập trình phong phú hỗ trợ cho việc phát triển nhiều loại hình ứng dụng khác cụ thể như: J2SE (Java Standard Edition) hỗ trợ phát triển ứng dụng đơn, ứng dụng client-server; J2EE (Java Enterprise Edition) hỗ trợ phát triển ứng dụng thương mại, J2ME (Java Micro Edition) hỗ trợ phát triển ứng dụng thiết bị di động, không dây, … 1.3 Các ứng dụng Java 1.3.1 Java ứng dụng Console Ứng dụng Console ứng dụng nhập xuất chế độ văn tương tự hình Console hệ điều hành MS-DOS Lọai chương trình ứng dụng thích hợp với bước đầu làm quen với ngơn ngữ lập trình java Các ứng dụng kiểu Console thường dùng để minh họa ví dụ liên quan đến cú pháp ngôn ngữ, thuật tốn, chương trình ứng dụng khơng cần thiết đến giao diện người dùng đồ họa 1.3.2 Java ứng dụng Applet Java Applet loại ứng dụng nhúng chạy trang web trình duyệt web Từ internet đời, Java Applet cung cấp khả lập trình mạnh mẽ cho trang web Nhưng gần chương trình duyệt web phát triển với khả lập trình VB Script, Java Script, HTML, DHTML, XML, … với canh tranh khốc liệt Microsoft Sun làm cho Java Applet lu mờ Và gần lập trình viên Editor thomc khơng “mặn mà” với Java Applet (trình duyệt IE kèm phiên Windows 2000 khơng hỗ trợ thực thi ứng dụng Java Applet) Hình bên minh họa chương trình java applet thực thi trang web 1.3.3 Java phát triển ứng dụng Desktop dùng AWT JFC Việc phát triển chương trình ứng dụng có giao diện người dùng đồ họa trực quan giống chương trình viết dùng ngơn ngữ lập trình VC++ hay Visual Basic java giải thư viện AWT JFC JFC thư viện phong phú hỗ trợ mạnh mẽ nhiều so với AWT JFC giúp cho người lập trình tạo giao diện trực quan ứng dụng Liên quan đến việc phát triển ứng dụng có giao diện người dùng đồ họa trực quan tìm hiểu chi tiết chương 1.3.4 Java phát triển ứng dụng Web Java hỗ trợ mạnh mẽ việc phát triển ứng dụng Web thông qua công nghệ J2EE (Java Enterprise Edition) Cơng nghệ J2EE hồn tồn tạo ứng dụng Web cách hiệu không thua công nghệ NET mà Microsft quảng cáo Hiện có nhiều trang Web tiếng Việt Nam khắp nơi giới xây dựng phát triển dựa công nghệ Java Số ứng dụng Web xây dựng dùng cơng nghệ Java chắn khơng biết số xác bao nhiêu, chúng tơi đưa vài ví dụ để thấy công nghệ Java Sun “đối thủ đáng gờm” Microsoft http://java.sun.com/ http://e-docs.bea.com/ http://www.macromedia.com/software/jrun/ http://tomcat.apache.org/index.html Bạn tìm hiểu chi tiết cơng nghệ J2EE tạo địa chỉ: http://java.sun.com/j2ee/ 1.3.5 Java phát triển ứng dụng nhúng Java Sun đưa công nghệ J2ME (The Java Platform, Micro Edition J2ME) hỗ trợ phát triển chương trình, phần mềm nhúng J2ME cung cấp mơi trường cho chương trình ứng dụng chạy thiết bị cá nhân như: điện thọai di động, máy tính bỏ túi PDA hay Palm, thiết bị nhúng khác Bạn tìm hiểu chi tiết cơng nghệ J2ME địa chỉ: http://java.sun.com/j2me/ 1.4 Dịch thực thi chương trình viết Java Việc xây dựng, dịch thực thi chương trình viết ngơn ngữ lập trình java tóm tắt qua bước sau: - Viết mã nguồn: dùng chương trình soạn thảo (NotePad hay Eclipse chẳng hạn) để viết mã nguồn lưu lại với tên có “.java” - Biên dịch mã máy ảo: dùng trình biên dịch javac để biên dịch mã nguồn “.java” thành mã máy ảo (java bytecode) có “.class” lưu lên đĩa - Thông dịch thực thi: ứng dụng load vào nhớ, thông dịch thực thi dùng trình thơng dịch Java thơng qua lệnh “java” o Đưa mã java bytecode vào nhớ: bước “loading” Chương trình phải đặt vào nhớ trước thực thi “Loader” lấy files chứa mã java bytecode có “.class” nạp chúng vào nhớ o Kiểm tra mã java bytecode: trước trình thông dịch chuyển mã bytecode thành mã máy tương ứng để thực thi mã bytecode phải kiểm tra tính hợp lệ o Thơng dịch & thực thi: cuối điều khiển CPU trình thơng dịch thời điểm có mã bytecode chuyển sang mã máy thực thi 1.5 Chương trình Java 1.5.1 Tạo chương trình nguồn HelloWordApp • Khởi động Notepad gõ đoạn mã sau /*Viết chương trình in dòng HelloWorld lên hình Console*/ class HelloWorldApp{ public static void main(String[] args){ //In dong chu “HelloWorld” System.out.println(“HelloWorld”); } } Lưu lại với tên HelloWorldApp.java 1.5.2 Biên dịch tập tin nguồn HelloWordApp Việc biên dịch tập tin mã nguồn chương trình HelloWorldApp thực qua bước cụ thể sau: - Mở cửa sổ Command Prompt - Chuyển đến thư mục chứa tập tin nguồn vừa tạo - Thực câu lệnh: javac HelloWordApp.java Nếu gặp thông báo lỗi “Bad Command of filename” “The name specified is not recognized as an internal or external command, operable program or batch file” có nghĩa Windows khơng tìm trình biên dịch javac Để sửa lỗi cần cập nhật lại đường dẫn PATH hệ thống Ngược lại thành cơng bạn có thêm tập tin HelloWordApp.class Editor thomc 1.5.3 Chạy chương trình HelloWordApp - Tại nhắc gõ lệnh: java HelloWordApp Nếu chương trình bạn thấy dòng chữ HelloWord hình Console Nếu bạn nhận lỗi “Exception in thread "main java.lang.NoClassDefFoundError: HelloWorldApp” có nghĩa Java khơng thể tìm tập tin mã bytecode tên HelloWorldApp.class bạn Một nơi java cố tìm tập tin bytecode thư mục bạn Vì thể tập tin byte code đặt C:\java bạn nên thay đổi đường dẫn tới 1.5.4 Cấu trúc chương trình HelloWordApp Phương thức main(): điểm bắt đầu thực thi ứng dụng Mỗi ứng dụng Java phải chứa phương thức main có dạng sau: public static void main(String[] args) Phương thức main chứa ba bổ từ đặc tả sau: •public phương thức main gọi bỡi đối tượng •static rắng phương thức main phương thức lớp •void phương thức main không trả giá trị Ngôn ngữ Java hỗ trợ ba kiểu thích sau: • /* text */ • // text • /** documentation */ Cơng cụ javadoc JDK sử dụng thích để chuẩn bị cho việc tự động phát sinh tài liệu - Dấu mở đóng ngoặc nhọn “{“ “}”: bắt đầu kết thúc khối lệnh - Dấu chấm phẩy “;” kết thúc dòng lệnh 1.5.5 Sử dụng phương thức/biến lớp Cú pháp: Tên_lớp.Tên_biến Tên_lớp.Tên_phương_thức(…) 1.6 Cơng cụ lập trình chương trình dịch 1.6.1 J2SDK J2SE hay Java Standard Edition vừa đặc tả, vừa tảng thực thi (bao gồm phát triển triển khai) cho ứng dụng Java Nó cung cấp API, kiến trúc chuẩn, thư viện lớp công cụ cốt lõi để xây ứng dụng Java Mặc dù J2SE tảng thiên phát triển sản phẩm chạy máy tính để bàn tính nó, bao gồm phần triển khai ngôn ngữ Java lớp gốc, công nghệ JDBC để truy vấn liệu chỗ dựa để Java tiếp tục mở rộng hỗ trợ thành phần mạnh mẽ dùng cho ứng dụng hệ thống quy mơ xí nghiệp thiết bị nhỏ J2SE gồm phận là:  Java Runtime Environment, Standard Edition (JRE) Môi trường thực thi hay JRE cung cấp Java API, máy ảo Java (Java Virtual Machine hay JVM) thành phần cần thiết khác để chạy applet ứng dụng viết ngơn ngữ lập trình Java Mơi trường thực thi Java khơng có cơng cụ tiện ích trình biên dịch hay trình gỡ lỗi để phát triển applet ứng dụng  Java Software Development Kit, Standard Edition (SDK) Java SDK tập mẹ JRE, chứa thứ nằm JRE, bổ sung thêm cơng cụ trình biên dịch (compiler) trình gỡ lỗi (debugger) cần để phát triển applet ứng dụng Tên J2SE (Java Platform, Standard Edition) sử dụng từ phiên 1.2 1.5 Từ "SE" sử dụng để phân biệt với tảng khác Java EE Java ME "2" ban đầu vốn dùng để đến thay đổi lớn phiên 1.2 so với phiên trước, đến phiên 1.6 "2" bị loại bỏ Phiên biết đến tới thời điểm Java SE (hay Java SE 1.7 theo cách đặt tên Sun Microsystems) với tên mã Mustang - Download J2SE phiên tương ứng với hệ điều hành sử dụng cài đặt lên máy tính (phiên chúng tơi sử dụng viết giáo trình J2SE 1.7) Sau cài xong, cần cập nhật đường dẫn PATH hệ thống đến thư mục chứa chương trình dịch ngơn ngữ java Editor thomc 1.6.2.Cơng cụ soạn thảo mã nguồn Java Để viết mã nguồn java sử dụng trình soạn thảo NotePad số môi trường phát triển hỗ trợ ngôn ngữ java như: Jbuilder hãng Borland, Visual Café hãng Symantec, JDeveloper hãng Oracle, Visual J++ Microsoft, Eclipes, … Trong khn khổ giáo trình để hướng dẫn sinh viên thực hành dùng cơng cụ Eclipse Ví dụ: Dùng Eclipse tạo thực thi chương trình có tên HelloWorldApp Bước 1: - File  New  Java Project - Sau nhập tên project bấm chọn Finish Bước 2: Tạo Class tên HelloWorldApp đưa vào Project - File  New  Class - Nhập vào tên Class chọn Finish (hình bên dưới) Bước 3: Soạn thảo mã nguồn, biên dịch, gỡ lỗi thực thi chương trình Editor thomc Cửa sổ quản lý tài nguyên dự án Cửa sổ soạn thảo mã lệnh Cửa sổ Console thể kết thực thi chương trình Lớp File khơng phục vụ cho việc nhập/xuất liệu luồng Lớp File thường dùng để biết thông tin chi tiết tập tin thư mục (tên, ngày tạo, kích thước, …) java.lang.Object + java.io.File Các Constructor: Tạo đối tượng File từ đường dẫn tuyệt đối  public File(String pathname) ví dụ: File f = new File(“C:\\Java\\vd1.java”); Tạo đối tượng File từ tên đường dẫn tên tập tin tách biệt  public File(String parent, String child) ví dụ: File f = new File(“C:\\Java”, “vd1.java”); Tạo đối tượng File từ đối tượng File khác  public File(File parent, String child) ví dụ: File dir = new File (“C:\\Java”); File f = new File(dir, “vd1.java”); Một số phương thức thường gặp lớp File (chi tiết phương thức đọc thêm tài liệu J2SE API Specification) public String getName() public String getPath() Lấy tên đối tượng File Lấy đường dẫn tập tin public boolean isDirectory() Kiểm tra xem tập tin có phải thư mục không? public boolean isFile() Kiểm tra xem tập tn có phải file khơng? … public String[] list() Lấy danh sách tên tập tin thư mục đối tượng File xét trả mảng Ví dụ: import java.awt.*; import java.io.*; public class FileDemo { public static void main(String args[]) { Frame fr = new Frame ("File Demo"); fr.setBounds(10, 10, 300, 200); fr.setLayout(new BorderLayout()); Panel p = new Panel(new GridLayout(1,2)); List list_C = new List(); list_C.add("C:\\"); File driver_C = new File ("C:\\"); 76 Editor thomc String[] dirs_C = driver_C.list(); for (int i=0;i

Ngày đăng: 22/02/2019, 10:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan