Bài giảng Tổng quan về ngôn ngữ Java
Tổng quan về ngôn ngữ Java
Nội dung
Giới thiệu ngôn ngữ Java
Đặc điểm về các kiểu dữ liệu
Các khái niệm về hướng đối tượng trong ngôn ngữ
Java
Exception Handling
Collection Framework
Regular Expressions
Phần 1:
Lịch sử ra đời
Java được Sun Microsystems (Stanford University
Network) khai sinh năm 1991, hướng đến việc viết phần
mềm cho các thiết bị điện tử (set-top box, microwave
oven…)
Java là một ngôn ngữ thuần hướng đối tượng, platform
independent, hỗ trợ đầy đủ cho unicode và rất mạnh mẽ.
Các dòng sản phẩm Java hiện có:
J2SE (Java 2 Standard Edition): nhắm đến việc phát triển các
ứng dụng desktop thông thường
J2EE (Java 2 Enterprise Edition): nhắm đến các ứng dụng lớn:
phân tán, web, web service…
J2ME (Java 2 Micro Edition): ra đời sau cùng, nhắm đến các
sản phẩm nhỏ: mobile, palm, pda…
Platform Independent
Một chương trình Java không được biên dịch trực tiếp
thành mã máy (machine code) như các ngôn ngữ ra đời
trước (C, C++) mà sẽ được biên dịch thành một dạng
ngôn ngữ trung gian (byte-code)
Quá trình biên dịch:
Java source code (.java)
javac
Byte-code
java
(.class)
platform)
Machine code (phụ thuộc vào
Một ứng dụng hay thư viện của java có thể được đóng
gói thành file .jar (tập hợp các file .class)
Máy ảo Java (JVM) có chức năng biên dịch byte-code
thành code thực thi trên một môi trường cụ thể. Mỗi HĐH
sẽ được xây dựng một JVM riêng biệt
Để biên dịch và thực thi ứng dụng Java, ta cần
download bộ công cụ JDK của Sun, trong bộ công
cụ này sẽ có các file javac.exe, java.exe, jar.exe
được đặt tại thư mục JDK/bin
Set biến môi trường JAVA_HOME trỏ đến thư mục
cài đặt JDK, và bổ sung đường dẫn
JAVA_HOME/bin vào biến môi trường PATH
Các ứng dụng Java khi cần sử dụng các thư viện
cộng thêm (thường dưới dạng .jar), đường dẫn đến
các file .jar phải được set trong biến môi trường
CLASSPATH hoặc chỉ ra từ câu lệnh biên dịch
Biên dịch:
javac [–cp path] Filename.java
Thực thi:
java [-cp path] Filename #Tên file khô ng có .class
Đối với ứng dụng đã được đóng thành file .jar
java –jar Filename.jar
Trong classpath, ký tự “.” tượng trưng cho thư mục hiện hành.
Một số IDE để xây dựng ứng dụng
Netbeans
Jbuilder
Eclipse
Jcreator
Java Sun Studio
Một file source code cơ bản
Một ứng dụng java cũng là 1 lớp, hàm main sẽ đặt trong
lớp này (thuần hướng đối tượng).
Không tồn tại khái niệm biến toàn cục, hàm toàn cục
Tên lớp và tên file phải giống nhau, ví dụ lớp test1 phải
được nằm trong file có tên test1.java
class vidu1
{
public static void main (String[] args){
System.out.println(“ Hello world!”);
}
}
Cấu trúc gói phần mềm Java
Tài nguyên nghiên cứu:
J2SE Doc (giống bộ tài liệu MSDN) :
bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-
Site/en_US/-/USD/ViewProductDetail-
Start?ProductRef=jdk-6-doc-oth-JPR@CDS-
CDS_Developer
bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-
Site/en_US/-/USD/ViewFilteredProducts-
SimpleBundleDownload
bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-
Site/en_US/-/USD/ViewProductDetail-
Start?ProductRef=tutorial-2008_03_14-oth-JPR@CDS-
CDS_Developer
Phần 2:
Các kiểu dữ liệu
Trong Java có thể xem như tồn tại 2 kiểu dữ liệu chính: primitive type
và Object (class) type
Primitive type
Object type
int
String
long
float
Wrapper (Integer, Long,
Float…)
Tất cả các kiểu dữ liệu dạng
lớp (do Java cung cấp hoặc
người dùng khai báo thêm)
char
byte
short
double
-> các kiểu dữ liệu cơ sở
Kiểu dữ liệu primitive: passing by value
Kiểu dữ liệu object: passing by reference
Các lớp wrapper cung cấp các hàm tiện ích cho các kiểu primitive:
Ví dụ int i=Integer.parseInt(“1234”);
Tất cả đều là pointer
Có thể xem tất cả các đối tượng của các lớp đều là
pointer trong ngôn ngữ C++.
Luôn luôn phải new trước khi dùng (trừ lớp String)
Ví dụ :
C++
Java
CPhanSo a;
a.TuSo=5;
CPhanSo a=new CPhanSo();
a.TuSo=5;
CPhanSo *b;
b=new CPhanSo();
b->TuSo=5;
delete b;
a=null; //thu hồi bộ nhớ
Không sử dụng từ khóa delete
trong Java, bản thân Java có cơ chế
Garbage collector, tự thu hồi vùng
nhớ không dùng đến.
Mảng
Mảng trong ngôn ngữ Java có cấu trúc tương tự
C/C++:
int [] a =new int[5]; hoặc int a[] = new int [5];
Lấy kích thước một mảng (C++ không hỗ trợ):
int size=a.size;
Hủy mảng:
a=null;
Một lưu ý khi dùng mảng
Person [] person=new Person[20];
person[0].setName(“Nguyen Van A”); // báo lỗi
Lý do: Con trỏ person[0] vẫn là NULL.
person
0 1 2 3 4
16 17 18 19
Khắc phục:
person[0] = new Person();
person[0].setName(“Nguyen Van A”);
Chuỗi:
Riêng với lớp String, có thể dùng từ khóa new hoặc không dùng. Để
so sánh 2 chuỗi giống nhau, ta dùng hàm equals của lớp String
Xem thêm các hàm của các lớp Java hỗ trợ sẵn tại
package java.lang
Phần 3:
Lớp
Một ứng dụng Java là tập hợp các lớp (class), bản
thân hàm main cũng nằm trong một lớp cụ thể nào
đó.
Một ứng dụng chỉ được có một lớp chứa hàm main
Một lớp nếu khai báo public (hoặc không chứa bất
kỳ từ khóa private/public nào) phải được đặt trong
file có cùng tên với tên lớp.
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tổng quan về ngôn ngữ Java", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_tong_quan_ve_ngon_ngu_java.ppt

