Tổng quan lập trình Java• Giới thiệu ngôn ngữ Java • Kiến trúc của Java • Nội dung một chương trình Java cơ bản • Các kiểu dữ liệu cơ bản & toán tử • Các cấu trúc điều khiển • Nhập dữ li
Trang 1Lập trình Java cơ bản
Cao Đức Thông - Trần Minh Tuấn
cdthong@ifi.edu.vn , tmtuan@ifi.edu.vn
Trang 2Bài 1 Tổng quan lập trình Java
• Giới thiệu ngôn ngữ Java
• Kiến trúc của Java
• Nội dung một chương trình Java cơ bản
• Các kiểu dữ liệu cơ bản & toán tử
• Các cấu trúc điều khiển
• Nhập dữ liệu từ bàn phím
• Công cụ soạn thảo
• Bài tập
Trang 3Giới thiệu ngôn ngữ Java
• Ra đời tại Sun Microsystems b ở i James Gosling
• 1991: Version đầu tiên với tên “Oak”
• 1995: Tên chính thức là Java
• Dùng để phát triển ứng dụng cho các thiết bị điện
tử “thông minh”
• Tạo các trang web có nội dung động (web applet)
• Hiện nay, Java được sử dụng để phát triển nhiều
loại ứng dụng khác nhau: cơ sở dữ liệu, mạng,
Internet, viễn thông
Trang 4Giới thiệu ngôn ngữ Java
• Đặc điểm của Java
Trang 5Kiến trúc của Java
• Java Platform
• Java Virtual Machine (Java VM)
• Java Application Programming Interface (Java API)
Hardware-Platform
Java VM Java API
myProgram.java
Java Platform
Mã nguồn
Trang 6Kiến trúc của Java
• Java Development Kit – JDK
• Bộ công cụ phát triển Java (jdk) gồm trình biên dịch, thông dịch, trợ giúp, soạn tài liệu… và các thư viện chuẩn
• Ngoài ra còn một số thư viện khác như JSP, JavaMail, Java TAPI…
• 1995: Version JDK 1.0
• 1998: Version JDK 1.2 (Java 2 nd Platform)
• 2004: Version JDK 1.5
Trang 7Phát triển ứng dụng Java
• Hai loại ứng dụng Java
• Application: Ứng dụng độc lập
• Applet: Ứng dụng chạy trên Web
• Thư viện lớp Java
• Bộ JDK bao gồm rất nhiều lớp chuẩn đã được xây dựng sẵn
• Lập trình viên thường sử dụng các lớp chuẩn để phát triển ứng dụng
Trang 8-Hello.class (bytecode)
javac Hello.java
java Hello
01001011
Trang 9Một chương trình Java cơ bản
1 // Tên file : Hello.java
2 /* Tác giả : Cao Đức Thông */
3
4 public class Hello
5 {
6 // Phương thức main, điểm bắt đầu của chương trình
7 public static void main( String args[ ] )
bỏ qua những dòng có dấu chú thích
Khai báo lớp
Mỗi CT phải có ít nhất một khai báo lớp
Tên lớp chứa hàm main phải giống tên file
Điểm bắt đầu và kết thúc của lớp
Phương thức main() sẽ được gọi đầu tiên Mỗi CT thực thi phải có một
phương thức main()Hiển thị dãy ký tự ra màn hình
Các câu lệnh phải kết thúc bằng dấu chấm phẩy
Trang 10Một chương trình Java cơ bản
• Biên dịch chương trình
• Vào chế độ Console của Windows
• Gõ câu lệnh javac Hello.java
• Nếu không có thông báo lỗi, file Hello.class sẽ được tạo ra
• Thực thi chương trình
• Gõ câu lệnh java Hello (không cần class)
Trang 11Một chương trình Java cơ bản
• Thay đổi cách hiển thị
public class Hello
Trang 12Các kiểu dữ liệu cơ bản
• Java có hai kiểu dữ liệu
• Dữ liệu gốc chuẩn: Là các kiểu dữ liệu đã được định nghĩa trong ngôn ngữ như số nguyên, số thực, ký tự, logic
• Dữ liệu dẫn xuất: Do người dùng tự định nghĩa như mảng, lớp, giao tiếp
• Ví dụ khai báo biến
• int x;
• Person ps;
Trang 14Các kiểu dữ liệu cơ bản
• Kiểu boolean: Nhận giá trị true hoặc false
• Kiểu char: Kiểu ký tự theo chuẩn Unicode
Trang 15Các kiểu dữ liệu cơ bản
• Kiểu mảng
• Khai báo: int[] iarray; hoặc int iarray[];
• Cấp phát: iarray = new int[100];
• Khởi tạo:
int[] iarray = {1, 2, 3, 5, 6};
char[] carray = {‘a’, ‘b’, ‘c’};
Chú ý: Luôn khởi tạo hoặc cấp phát mảng trước khi
sử dụng
• Một số khai báo không hợp lệ:
int[5] iarray;
int iarray[5];
Trang 16Các kiểu dữ liệu cơ bản
Trang 17Các kiểu dữ liệu cơ bản
• Quy tắc đặt tên biến
• Bắt đầu bằng một chữ cái, một dấu gạch dưới (_) hoặc một dấu dollard ($)
• Không có khoảng trắng giữa tên
• Sau ký tự đầu có thể dùng ký tự, số, dấu dollard, dấu gạch dưới
• Không trùng với các từ khoá
• Ví dụ: a_1234_d, 1awas, _asdc, a sas, $erd, %ats…
Trang 19else System.out.println(“Hom nay khong la chu nhat\n" );
}
}
Trang 20Các cấu trúc điều khiển
Trang 21case 'a': case 'e': case 'i': case 'o': case 'u':
System.out.println("Ky tu nay la nguyen am");
Trang 22Các cấu trúc điều khiển
Trang 24Các cấu trúc điều khiển
Trang 25new BufferedReader(new InputStreamReader(System.in));
System.out.print("Nhap mot so nguyen:");
String siNumber = inStream.readLine();
int iNumber = Integer.parseInt(siNumber);
Trang 26Nhập dữ liệu từ bàn phím
System.out.print("Nhap mot so thuc:");
String sfNumber = inStream.readLine();
float fNumber = Float.parseFloat(sfNumber);
System.out.println("So nguyen:“ + iNumber);
System.out.println("So thuc:“ + fNumber);
}
}
Trang 27Ví dụ: Xây dựng đối tượng Circle
• Cách 1: Sử dụng một file Circle.java duy nhất
• {
Trang 28Ví dụ về đối tượng Circle
• Cách 2: Sử dụng một file với 2 lớp riêng biệt
• public class TestCircle
Trang 29Ví dụ về đối tượng Circle
• Cách 3: Sử dụng hai file riêng biệt
Trang 30Công cụ soạn thảo
Trang 31Chỉ dẫn thực hành
• Đặt biến môi trường PATH:
• Trong Windows: Nháy phải trên My Computer, chọn
Properties, chọn Advanced, chọn Enviroment Variables, chọn biến PATH và edit, thêm vào đường dẫn tới thư mục bin của
bộ JDK
• Trong chế độ Console: Gõ lệnh
set Path=%Path%;đường dẫn tới bin
• Nên tham khảo java/docs khi làm việc
Trang 32Bài tập
1 Viết chương trình tính tiền điện thoại:
— Tiền thuê bao hàng tháng là 27000 đ
— Từ phút gọi thứ nhất đến phút thứ 200 giá cước là 120 đ/phút.
— Từ phút gọi thứ 201 đến phút thứ 400 giá cước là 80 đ/phút.
— Từ phút gọi 401 đến phút cuối giá cước là 40 đ/phút
Trang 334 Viết chương trình tính tổng
E = 1 + 1/1 + 1/2 + 1/3 +… + 1/n
với n nhập vào từ bàn phím
Trang 34Bài tập
5 Mở rộng lớp Circle : thêm dữ liệu toạ độ tâm
hình tròn và phương thức kiểm tra một điểm cho trước có nằm trong hình tròn hay không.
6 Viết chương trình nhập vào một hình tròn,
sau đó phát sinh 100 điểm ngẫu nhiên và
cho biết có bao nhiêu điểm nằm trong hình tròn vừa nhập.