Nội dung bài giảng1 Cấu trúc một chương trình Java 2 Chương trình Java đầu tiên 3 Các kiểu dữ liệu thông dụng trong Java 4 Một số thao tác cơ bản của ngôn ngữ lập trình Java... Cấu trúc
Trang 1LẬP TRÌNH JAVA CƠ BẢN BÀI 2: NỀN TẢNG CỦA NGÔN NGỮ JAVA
Đối tượng: Sinh viên khoa CNTT, bậc Cao đẳng
Năm học: 2013-2014Học kỳ: II
Ngày 2 tháng 3 năm 2014
Trang 2Nội dung bài giảng
1 Cấu trúc một chương trình Java
2 Chương trình Java đầu tiên
3 Các kiểu dữ liệu thông dụng trong Java
4 Một số thao tác cơ bản của ngôn ngữ lập trình Java
Trang 3Cấu trúc chung một chương trình Java
2 Các lớp được sắp xếp vào các gói riêng tuỳ mục đích
3 Thông thường mỗi lớp được ghi trong một file riêng (*.java)
4 Chương trình thực hiện bắt đầu từ hàm main
5 Lớp nào có khai báo hàm main thì tên lớp bắt buộc phải
trùng với tên file chứa nội dung của lớp đó (Ví dụ class Hello => Hello.java)
6 Java phân biệt chữ hoa và chữ thường
7 Chấp nhận hai dạng chú thích /* */ và // như trong C/C++
8 Java hỗ trợ Unicode: Một số ký tự đặc biệt \u0192 (â),
\u2026 (à), \u201a (é), \u0160 (è), \u02c6 (ê), \u201c (ô)
Trang 4Cấu trúc chung một chương trình Java
3 Thông thường mỗi lớp được ghi trong một file riêng (*.java)
4 Chương trình thực hiện bắt đầu từ hàm main
5 Lớp nào có khai báo hàm main thì tên lớp bắt buộc phải
trùng với tên file chứa nội dung của lớp đó (Ví dụ class Hello => Hello.java)
6 Java phân biệt chữ hoa và chữ thường
7 Chấp nhận hai dạng chú thích /* */ và // như trong C/C++
8 Java hỗ trợ Unicode: Một số ký tự đặc biệt \u0192 (â),
\u2026 (à), \u201a (é), \u0160 (è), \u02c6 (ê), \u201c (ô)
Trang 5Cấu trúc chung một chương trình Java
4 Chương trình thực hiện bắt đầu từ hàm main
5 Lớp nào có khai báo hàm main thì tên lớp bắt buộc phải
trùng với tên file chứa nội dung của lớp đó (Ví dụ class Hello => Hello.java)
6 Java phân biệt chữ hoa và chữ thường
7 Chấp nhận hai dạng chú thích /* */ và // như trong C/C++
8 Java hỗ trợ Unicode: Một số ký tự đặc biệt \u0192 (â),
\u2026 (à), \u201a (é), \u0160 (è), \u02c6 (ê), \u201c (ô)
Trang 6Cấu trúc chung một chương trình Java
5 Lớp nào có khai báo hàm main thì tên lớp bắt buộc phải
trùng với tên file chứa nội dung của lớp đó (Ví dụ class Hello => Hello.java)
6 Java phân biệt chữ hoa và chữ thường
7 Chấp nhận hai dạng chú thích /* */ và // như trong C/C++
8 Java hỗ trợ Unicode: Một số ký tự đặc biệt \u0192 (â),
\u2026 (à), \u201a (é), \u0160 (è), \u02c6 (ê), \u201c (ô)
Trang 7Cấu trúc chung một chương trình Java
trùng với tên file chứa nội dung của lớp đó (Ví dụ class Hello => Hello.java)
6 Java phân biệt chữ hoa và chữ thường
7 Chấp nhận hai dạng chú thích /* */ và // như trong C/C++
8 Java hỗ trợ Unicode: Một số ký tự đặc biệt \u0192 (â),
\u2026 (à), \u201a (é), \u0160 (è), \u02c6 (ê), \u201c (ô)
Trang 8Cấu trúc chung một chương trình Java
trùng với tên file chứa nội dung của lớp đó (Ví dụ class Hello => Hello.java)
7 Chấp nhận hai dạng chú thích /* */ và // như trong C/C++
8 Java hỗ trợ Unicode: Một số ký tự đặc biệt \u0192 (â),
\u2026 (à), \u201a (é), \u0160 (è), \u02c6 (ê), \u201c (ô)
Trang 9Cấu trúc chung một chương trình Java
trùng với tên file chứa nội dung của lớp đó (Ví dụ class Hello => Hello.java)
8 Java hỗ trợ Unicode: Một số ký tự đặc biệt \u0192 (â),
\u2026 (à), \u201a (é), \u0160 (è), \u02c6 (ê), \u201c (ô)
Trang 10Cấu trúc chung một chương trình Java
trùng với tên file chứa nội dung của lớp đó (Ví dụ class Hello => Hello.java)
\u2026 (à), \u201a (é), \u0160 (è), \u02c6 (ê), \u201c (ô)
Trang 11Cấu trúc chung của một lớp trong Java
Hình : 1 Cấu trúc chung một lớp trong Java
Trang 12Cấu trúc chung của một lớp trong Java (tiếp )
chính là tập hợp “Từ vựng” của Java
2 Có những loại Token sau đây:
1 Định danh (Identifier): Dùng để biểu diễn cho tên biến, tên
phương thức hay tên lớp Mỗi tên được bắt đầu bởi 1 chữ cái,
ký tự “_” hoặc ký tự $ Các ký tự tiếp theo có thể là chữ cái, chữ số, ký tự “_” và ký tự “$” Phân biệt chữ hoa, chữ
thường Không được sử dụng bất kỳ ký tự nào khác ngoài tập
ký tự kể trên (VD: ký tự “ ”).
2 Từ khoá: Là những định danh đã được Java sử dụng vào
những mục đích khác nhau Người dùng không được phép đặt các tên trùng với các từ khoá này (VD: class, int )
3 Ký tự phân cách: Là những ký tự dùng để phân nhóm các
phần tử của chương trình khi biên dịch (VD: “{”, “}”, “,”, “;”)
4 Các hằng (VD: 36, “a”, “Day la chuoi hang”)
5 Các toán tử (VD: “+”, “-”, “*”, “/” )
Trang 13Cấu trúc chung của một lớp trong Java (tiếp )
chính là tập hợp “Từ vựng” của Java
1 Định danh (Identifier): Dùng để biểu diễn cho tên biến, tên
phương thức hay tên lớp Mỗi tên được bắt đầu bởi 1 chữ cái,
ký tự “_” hoặc ký tự $ Các ký tự tiếp theo có thể là chữ cái, chữ số, ký tự “_” và ký tự “$” Phân biệt chữ hoa, chữ
thường Không được sử dụng bất kỳ ký tự nào khác ngoài tập
ký tự kể trên (VD: ký tự “ ”).
2 Từ khoá: Là những định danh đã được Java sử dụng vào
những mục đích khác nhau Người dùng không được phép đặt các tên trùng với các từ khoá này (VD: class, int )
3 Ký tự phân cách: Là những ký tự dùng để phân nhóm các
phần tử của chương trình khi biên dịch (VD: “{”, “}”, “,”, “;”)
4 Các hằng (VD: 36, “a”, “Day la chuoi hang”)
5 Các toán tử (VD: “+”, “-”, “*”, “/” )
Trang 14Nội dung bài giảng
1 Cấu trúc một chương trình Java
2 Chương trình Java đầu tiên
3 Các kiểu dữ liệu thông dụng trong Java
4 Một số thao tác cơ bản của ngôn ngữ lập trình Java
Trang 15Chương trình Java đầu tiên
Soạn thảo và chạy chương trình (Demo trực tiếp)
Phân tích chương trình (Hình 1)
trong gói “java.text” có sẵn của Java
trong gói “java.util” của Java
“class” Từ khoá “public” chỉ ra rằng lớp này có thể được sửdụng bởi một lớp bất kỳ khác
Trang 16Chương trình Java đầu tiên (tiếp )
Phân tích chương trình (Hình 1)
trình “public static void main(String[] args)” (Phần xử lý
ngoại lệ “throws Exception” sẽ được đề cập sau) Mọi thứ
được viết trong phương thức “main” này sẽ được thực hiện
khi chạy chương trình Tên lớp chứa phương thức “main” vàtên file chứa lớp đó phải trùng nhau (VD: lớp Main thì file
chứa nó phải là Main.java)
thức này có thể được gọi từ bất kỳ đâu trong chương trình
kết quả khi thực thi
Trang 17Chương trình Java đầu tiên (tiếp )
Phân tích chương trình (Hình 1)
tham số truyền vào là một mảng kiểu “String” Khi chạy
chương trình, tất cả các tham số trên dòng lệnh đều được lưuvào mảng này để xử lý Mảng sẽ rỗng nếu không có tham sốdòng lệnh
đánh dấu sự bắt đầu và kết thúc của lớp đang định nghĩa
Trang 18Chương trình Java đầu tiên (tiếp )
Truyền đối số qua dòng lệnh
dòng lệnh (thực hiện chạy trên câu lệnh và trong Eclipse)
trắng “ ” hoặc cặp dấu “” (Ví dụ: Mot Hai Ba là 3 tham sốdòng lệnh khác nhau nhưng “Mot Hai Ba” chỉ được tính nhưmột tham số dòng lệnh)
nhập 4 tham số dòng lệnh tương ứng với tên viết tắt của 4
quốc gia (ví dụ: vi it ru fr) chương trình sẽ hiển thị lần lượtđịnh dạng ngày tháng hiện tại theo các quốc gia đó (Mỗi
quốc gia trên một dòng)!
Trang 19Nội dung bài giảng
1 Cấu trúc một chương trình Java
2 Chương trình Java đầu tiên
3 Các kiểu dữ liệu thông dụng trong Java
4 Một số thao tác cơ bản của ngôn ngữ lập trình Java
Trang 20Các kiểu dữ liệu thông dụng trong Java
Trong Java kiểu dữ liệu chia ra làm 2 loại: Các kiểu nguyên dữ liệunguyên thuỷ (primitives) và các kiểu dữ liệu tham chiếu
(reference)
Dữ liệu nguyên thuỷ: có 8 loại
Trang 21Các kiểu dữ liệu thông dụng trong Java (tiếp)
Dữ liệu nguyên thuỷ: có 8 loại (tiếp )
Hình : 3 Các kiểu dữ liệu nguyên thuỷ trong Java
Tiêu Kim Cương, bộ môn Công nghệ phần mềm 13
Trang 22Các kiểu dữ liệu thông dụng trong Java (tiếp)
Dữ liệu tham chiếu
Trong Java có 3 loại dữ liệu kiểu tham chiếu (Khi khai báo dữ liệukiểu tham chiếu, bắt buộc phải dùng từ khoá “new”) Cụ thể nhưsau:
Hình : 3 Các loại dữ liệu kiểu tham chiếu trong Java
Trang 23Nội dung bài giảng
1 Cấu trúc một chương trình Java
2 Chương trình Java đầu tiên
3 Các kiểu dữ liệu thông dụng trong Java
4 Một số thao tác cơ bản của ngôn ngữ lập trình Java
Trang 24Một số thao tác cơ bản của ngôn ngữ lập trình Java
Ép kiểu (Type casting)
Là hình thức đưa một kiểu dữ liệu về dạng một kiểu dữ liệu khác
Ví dụ khi thực hiện phép cộng giữa một số nguyên với một số thực
mà kết quả phải là một số nguyên thì khi đó nếu ta làm như sau:int a = 10; float b = 20; int result = a+b; thì sẽ nhận được
một lỗi khi biên dich vì Java chỉ có thể tự động chuyển kiểu từ sốnguyên sang số thực (chiều ngược lại không thực hiện được)
Trong trường hợp này ta cần ép kiểu tổng (a+b) về kiểu số nguyên(int) trước khi kết quả được gán cho result: int a = 10; float b =20; int result = (int) (a+b);
Trang 25Một số thao tác cơ bản của ngôn ngữ lập trình Java
Khai báo và đặt tên biến
Biến là nơi chương trình sử dụng để lưu dữ liệu tạm thời trong quátrình xử lý Mỗi biến trong Java trước khi sử dụng phải được khaibáo trước đó Mỗi biến được đặc trưng bởi tên biến và phạm vi
biến Một biến được khai báo trong phạm vi một khối chương
trình nào đó thì nó chỉ có thể có phạm vi sử dụng trong khối đó
Cú pháp khai báo biến như sau:
Kiểu_dữ_liệu Tên_Biến1 [= Giá trị ban đầu], Tên_Biến2 [= Giátrị ban đầu], , Tên_Biến_n [= Giá trị ban đầu];
Trang 26Một số thao tác cơ bản của ngôn ngữ lập trình Java
Khai báo mảng
tượng có cùng kiểu trên những vùng nhớ liên tục
đối tượng
Trang 27Các toán tử trong Java
Hình : 7 Các toán tử số học trong Java
Trang 28Các toán tử trong Java
Hình : 7 Các toán tử số học trong Java
Trang 29Các toán tử trong Java
Hình : 8 Các toán tử logic trong Java
Trang 30Các toán tử trong Java
Hình : 9 Các toán tử quan hệ trong Java
Trang 31Các toán tử trong Java
Hình : 10 Các toán tử xử lý bit trong Java
Trang 32Các toán tử trong Java
Hình : 11 Toán tử điều kiện trong Java
Trang 33Các toán tử trong Java
Hình : 12 Thứ tự ưu tiên các toán tử trong Java
Trang 34Định dạng dữ liệu xuất, chuỗi thoát trong Java
Hình : 13 Chuỗi thoát trong Java
Trang 35Các câu lệnh điều khiển rẽ nhánh
Hình : 14 Điều khiển rẽ nhánh trong Java
Trang 36Các câu lệnh điều khiển rẽ nhánh
Tiêu Kim Cương, bộ môn Công nghệ phần mềm 28
Trang 37Các câu lệnh điều khiển lặp
Trang 38Câu hỏi và giải đáp