mở đầu. Mô hình xử lý sự kiện trong Java 3. Các bộ lắng nghe sự kiện. Các thành phần component nâng cao.
Xử lý sự kiện chuột. Xử lý sự kiện bàn phím. 6 Bài 6: Xử lý ngoại lệ 4 1 3 1. Xử lý lỗi trong Java.
Các lớp ngoại lệ (exceptions). Xây dựng một lớp ngoại lệ. 7 Bài 7: Kết nối cơ sở dữ liệu 8 3 4 1 1. Các trình điều khiển JDBC.
Các bƣớc lập trình truy xuất cơ sở dữ liệu. Các đối tƣợng trong lập trình cơ sở dữ liệu. Xử lý và trình bày dữ liệu. 6 8 Ôn tập 3 1 2 Cộng 75 20 53 2 7 BÀI 1: THIẾT LẬP MÔI TRƢỜNG LẬP TRÌNH JAVA Mục tiêu: - Cài đặt đƣợc môi trƣờng lập trình Java.
- Biên dịch và chạy đƣợc một chƣơng trình Java. Nội dung chính: I/ Cài đặt môi trƣờng lập trình Java. 1/ Các phần mềm cần chuẩn bị: - JDK 1.6 (jdk-6u10-docs) Tải về từ trang web: http://java.com/javase/downloads/index.5 Tải về từ trang web: http://www.htm - Nếu không dùng một IDE nhƣ JCreator để soạn thảo, dịch và thực thi thì ta có thể dùng trình soạn thảo văn bản nhƣ NotePad để soạn thảo. 2/ Trình tự cài đặt: Nên cài đặt theo trình tự sau: - Cài JDK 1.6 - Thiết lập biến môi trƣờng PATH, CLASPATH - Cài JDK Doc 1.5 - Thiết lập cho JCreator chỉ vào bộ JDK Doc 1.6 đã cài đặt Cài JDK 1.6 - Phần này hƣớng dẫn cài trong hệ điều hành Windows 7 (đối với các hệ điều hành khác của hãng Microsoft thì cách cài cũng tƣơng tự).
- Tạo thƣ mục C:\Java để cài. Nếu không thì để JDK cài ngầm định vào C:\Program Files\Java\jdk1.0_11 - Nhấp đúp vào source JDK 1. - Thiết lập biến môi trƣờng PATH chỉ đến thƣ mục BIN của thƣ mục mà ta mới cài JDK. - Thiết lập biến môi trƣờng CLASSPATH chỉ đến thƣ mục chƣa các lớp của ngƣời dùng.
Từ bản JDK 1.4 về sau, ta không cần quan tâm đến biến CLASSPATH nữa. Thiết lập biến môi trƣờng Path Trong Windows, nhấp Start/run gõ vào sysedit. Trong cửa sổ AUTOEXEC.BAT gõ chuỗi “set PATH=“ chỉ đến thƣ mục BIN của JDK mới cài đặt. Ví dụ: set PATH=C:\Program Files\Java\jdk1.0_11\bin Sau đó save và đóng cửa sổ sysedit lại rồi khởi động lại máy.
Cài đặt JDK DOC JDK Doc là là tài liệu trợ giúp tra cứu các lớp và các phƣơng thức của Java. JDK Doc cũng trợ giúp tra hàm và lớp khi soạn thảo trong JCreator. Source của JDK Doc ở dạng file nén. Ta tiến hành giải nén nó vào cùng thƣ mục đã cài JDK.
Cài đặt JCreator 4.5 Sau khi download source JCreator và ta tiến hành cài đặt nó. 8 II/ Biên dịch, chạy chƣơng trình. 1/ Viết một chƣơng trình đơn giản Dùng JCreator viết và thực thi chƣơng trình có tên là HelloWorldApp Bƣớc 1: Tạo một empty project Trên menu của JCreator chọn File/New/Project/Empty Project/Next Đặt tên cho project ở ô Name. Chọn thƣ mục chứa project ở ô Location.
9 Bƣớc 3: Soạn thảo mã nguồn, dịch và thực thi Bài tập: Hãy cài đặt môi trƣờng lập trình Java. 10 BÀI 2: JAVA CƠ BẢN Mục tiêu: - Trình bày đƣợc cấu trúc cơ bản của một chƣơng trình viết bằng Java. - Mô tả đƣợc hằng và biến dùng trong chƣơng trình. - Sử dụng đƣợc quy tắc cú pháp của ngôn ngữ lập trình.
- Vận dụng đƣợc các cấu trúc điều khiển, cấu trúc lặp vào lập trình. - Sử dụng đƣợc mảng và chuỗi trong lập trình Java. Nội dung chính: I/ Cấu trúc cơ bản một chƣơng trình viết bằng Java. Phƣơng thức main(): là điểm bắt đầu thực thi một ứng dụng.
- Mỗi ứng dụng Java phải chứa một phƣơng thức main có dạng nhƣ sau: public static void main(String[] args) - Phƣơng thức main chứa ba bổ từ đặc tả sau: public: chỉ ra rằng phƣơng thức main có thể đƣợc gọi bởi bất kỳ đối tƣợng nào. static: chỉ ra rằng phƣơng thức main là một phƣơng thức lớp. void: chỉ ra rằng phƣơng thức main sẽ không trả về bất kỳ một giá trị nào. II/ Hằng, biến, kiểu dữ liệu, toán tử, từ khóa.
1/ Từ khóa (keyword) - 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. 11 - Từ khóa đặc tả đặc tính một method: private, public, protected, final, static, abstract, synchronized.
- Hằng (literal): 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. 2/ Định danh (identifier) - Định danh là dùng biểu diễn tên của biến, của phƣơng thức, của lớp. - Trong Java, định danh có thể sử dụng ký tự chữ, ký tự số và ký tự dấu. - Ký tự đầu tiên phải là ký tự chữ, dấu gạch dƣới (_), hoặc dấu dollar ($).
- Có sự phân biệt giữa ký tự chữ hoa và chữ thƣờng. Ví dụ: Hello, _prime, var8, tvLang 3/ Biến (variable) - Biến là vùng nhớ dùng để lƣu trữ các giá trị của chƣơng trình. - Mỗi biến gắn liền với một kiểu dữ liệu và một định danh duy nhất gọi là tên biến. - Tên biến thông thƣờng là một chuỗi các ký tự (Unicode), ký số.
- Tên biến phải bắt đầu bằng một chữ cái, một dấu gạch dƣới hay dấu dollar. - Tên biến không đƣợc trùng với các từ khóa (xem lại các từ khóa trong java). - Tên biến không có khoảng trắng ở giữa tên. - Trong java, biến có thể đƣợc khai báo ở bất kỳ nơi đâu trong chƣơng trình.
- Cách khai báo <kiểu_dữ_liệu> <tên_biến>; <kiểu_dữ_liệu> <tên_biến> = <giá_trị>; - Gán giá trị cho biến <tên_biến> = <giá_trị>; - Biến công cộng (toàn cục): là biến có thể truy xuất ở khắp nơi trong chƣơng trình, thƣờng đƣợc khai báo dùng từ khóa public, hoặc đặt chúng trong một class. - Biến cục bộ: là biến chỉ có thể truy xuất trong khối lệnh nó khai báo 4/ Kiểu dữ liệu (data type) Gồm các kiểu dữ liệu sau: • Kiểu dữ liệu cơ sở (Primitive data type) • Kiểu dữ liệu tham chiếu hay dẫn xuất (reference data type) • Kiểu dữ liệu cơ sở của Java bao gồm các nhóm sau: số nguyên, số thực, ký tự, kiểu luận lý (logic) • Kiểu dữ liệu tham chiếu là các kiểu dữ liệu đối tƣợng. Ví dụ nhƣ: String, Byte, Character, Double, Boolean, Integer, Long, Short, Font,… và các lớp do ngƣời dùng định nghĩa. - Kiểu dữ liệu cơ sở Kiểu số nguyên • Bốn kiểu số nguyên khác nhau là: byte, short, int, long • Kiểu mặc định của các số nguyên là kiểu int • Không có kiểu số nguyên không dấu 12 • Không thể chuyển biến kiểu int và kiểu boolean nhƣ trong ngôn ngữ C/C++ Ví dụ: int x = 0; long y=100; int a=1,b,c; Kiểu dấu chấm động: • Kiểu float có kích thƣớc 4 byte và giá trị mặc định là 0.0f • Kiểu double có kích thƣớc 8 byte và giá trị mặc định là 0.0d • Khai báo và khởi tạo giá trị cho các biến kiểu dấu chấm động: Ví dụ: float x = 100.56E6; Kiểu ký tự • Biểu diễn các ký tự trong bộ mã Unicode • 216 = 65536 ký tự khác nhau : từ '\u0000' đến '\uFFFF' Kiểu luận lý (boolean) • Hai giá trị: true hoặc false • Giá trị mặc định: false • Không thể chuyển thành kiểu nguyên và ngƣợc lại - Toán tử ép kiểu: <tên biến> = (kiểu_dữ_liệu) <tên_biến>; Ví dụ: float fNum = 2.2; int iCount = (int) fNum • Ép kiểu rộng (widening conversion): từ kiểu nhỏ sang kiểu lớn (không mất mát thông tin) • Ép kiểu hẹp (narrow conversion): từ kiểu lớn sang kiểu nhỏ (có khả năng mất mát thông tin) 4/ Hằng (literal) - Hằng là một giá trị bất biến trong chƣơng trình - Tên hằng đƣợc đặt theo qui ƣớc giống nhƣ tên biến - Tiếp vĩ ngữ: l, L, f, F, d, D Ví dụ: int i=1; long i=1L; - Hằng ký tự: là một ký tự đơn nằm giữa 2 dấu nháy đơn.
- Hằng chuỗi: là tập hợp các ký tự đƣợc đặt giữa hai dấu nháy kép “”. Một hằng chuỗi không có ký tự nào là một hằng chuỗi rỗng. Ví dụ: “Hello Wolrd” 5/ Toán tử (operator) - Toán tử số học 13 Toán tử Ý nghĩa + Cộng - Trừ * Nhân / Chia nguyên % Chia dƣ ++ Tăng 1 -- Giảm 1 - Toán tử quan hệ & logic Toán tử Ý nghĩa == So sánh bằng != So sánh khác > So sánh lớn hơn < So sánh nhỏ hơn >= So sánh lớn hơn hay bằng <= So sánh nhỏ hơn hay bằng || OR (biểu thức logic) && AND (biểu thức logic) ! NOT (biểu thức logic) - Toán tử gán (assignment) Toán tử Ví dụ Giải thích = int c=3, d=5, c=4; += c+=7 c=c+7 -= d-=4 d=d-4 *= e*=5 e=e*5 /= f/=3 f=f/3 %= g%=9 g=g%9 - Toán tử điều kiện <điều kiện> ? <biểu thức 1> : < biểu thức 2> 14 Ví dụ: int x = 10; int y = 20; int Z = (x<y) ? 30 : 40; III/ Các cấu trúc điều khiển. 1/ Mệnh đề if – else if (<biểu thức boolean>) { // khối lệnh này đƣợc thực thi // nếu (<biểu thức boolean>) = true } else { // khối lệnh này đƣợc thực thi // nếu condition = false } Ví dụ: public class Test { public static void main(String[] args) { int number = 13; if (number % 2 == 0) { System.println("Số " + number + " là số chẵn.println("Số " + number + " là số lẻ."); } } } 2/ Mệnh đề switch - case switch (bieu_thuc) { case gia_tri_1: // Khối lệnh 1 break; //tùy chọn case gia_tri_2: // Khối lệnh 2 break; //tùy chọn.
case gia_tri_n: // Khối lệnh n break; //tùy chọn default: // Khối lệnh này đƣợc thực thi // nếu tất cả các điều kiện trên không thỏa mãn } Ví dụ: import javax.JOptionPane; 15 public class TestSwitch { public static void main(String[] args) { char c; String str=JOptionPane.charAt(0); switch(c) { case 'a': case 'e': case 'i': case 'o': case 'u': System.println("Ky tu nay la nguyen am"); break; default: System.exit(0); // kết thúc chƣơng trình } } 3/ Vòng lặp while while (<biểu thức boolean>) <khối lệnh>; Ví dụ: // Tính tổng các số lẻ từ 1 đến 100 int tong = 0, i = 1; while (i<=100) { tong+=i; i+=2; } System.println(tong); 5/ Vòng lặp for for(<khởi tạo>; <điều kiện lặp>; <bƣớc nhảy>) <khối lệnh>; Ví dụ: public class TestFor { public static void main(String[] args) { int tong = 0; for(int i=1; i<=100; i+=2) tong+=i; System.println(tong); } } IV/ Mảng và chuỗi trong Java.