Giáo trình Java cơ sở

Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệu vào tháng 6 năm 1995. Từ đó, nó đã trở thành một công cụ lập trình của các lập trình viên chuyên nghiệp. Java được xây dựng trên nền tảng của C và C++. Do vậy nó sử dụng các cú pháp của C và các đặc trưng hướng đối tượng của C++.

Ban đầu Java được thiết kế để làm ngôn ngữ viết chương trình cho các sản phẩm điện tử dân dụng như đầu video, tivi, điện thoại, máy nhắn tin.. . Tuy nhiên với sự mãnh mẽ của Java đã khiến nó nổi tiếng đến mức vượt ra ngoài sự tưởng tượng của các nhà thiết kế ra nó.

Java khởi thuỷ tên là Oak- là cây sồi mọc ở phía sau văn phòng của nhà thiết kế chính ông Jame Gosling, sau này ông thấy rằng đã có ngôn ngữ lập trình tên Oak rồi, do vậy nhóm thiết kế quyết định đổi tên, “Java” là cái tên được chọn, Java là tên của một quán cafe mà nhóm thiết kế java hay đến đó uống.

pdf 193 trang minhvy 26/11/2025 120
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Java cơ sở", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

Tóm tắt nội dung tài liệu: Giáo trình Java cơ sở

Giáo trình Java cơ sở
 Bé gi¸o dôc vμ ®μo t¹o 
Trêng ®¹i häc s ph¹m kü thuËt hng yªn 
 ---------------ooo------------------ 
 việc mà các ngôn ngữ khác có thể làm được. 
 Java là ngôn ngữ vừa biên dịch vừa thông dịch. Đầu tiên mã nguồn được 
biên dịch bằng công cụ JAVAC để chuyển thành dạng ByteCode. Sau đó được 
thực thi trên từng loại máy cụ thể nhờ chương trình thông dịch JAVA. Mục tiêu 
của các nhà thiết kế Java là cho phép người lập trình viết chương trình một lần 
nhưng có thể chạy trên bất cứ phần cứng cụ thể, thế nên khẩu hiệu của các nhà 
thiết kế Java là “Write One, Run Any Where”. 
 Ngày nay, Java được sử dụng rộng rãi để viết chương trình chạy trên 
Internet. Nó là ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ 
thuộc vào hệ điều hành. Java không chỉ dùng để viết các ứng dụng chạy đơn lẻ hay 
trong mạng mà còn để xây dựng các trình điều khiển thiết bị cho điện thoại di 
động, PDA,  
II. Một số đặc trưng của java 
1.Đơn giản 
 Những người thiết kế mong muốn phát triển một ngôn ngữ dễ học và quen 
thuộc với đa số người lập trình. Java tựa như C++, nhưng đã lược bỏ đi các đặc 
trưng phức tạp, không cần thiết của C và C++ như: thao tác con trỏ, thao tác định 
nghĩa chồng toán tử (operator overloading), Java không sử dụng lệnh “goto” 
cũng như file header (.h). Cấu trúc “struct” và “union” cũng được loại bỏ khỏi 
Java. Nên có người bảo Java là “C++--“, ngụ ý bảo java là C++ nhưng đã bỏ đi 
những thứ phức tạp, không cần thiết. 
2. Hướng đối tượng 
 Có thể nói java là ngôn ngữ lập trình hoàn toàn hướng đối tượng, tất cảc 
trong java đều là sự vật, đâu đâu cũng là sự vật. 
3. Độc lập với hệ nền 
 Mục tiêu chính của các nhà thiết kế java là độc lập với hệ nền hay còn gọi bộ nhớ. Qúa trình cấp phát, giải phóng được thực hiện tự động, nhờ dịch vụ thu 
nhặt những đối tượng không còn sử dụng nữa (garbage collection). 
 Cơ chế bẫy lỗi của Java giúp đơn giản hóa qúa trình xử lý lỗi và hồi phục 
sau lỗi. 
5. Hỗ trợ lập trình đa tuyến 
 Đây là tính năng cho phép viết một chương trình có nhiều đoạn mã lệnh 
được chạy song song với nhau. Với java ta có thể viết các chương trình có khả 
năng chạy song song một cách dễ dàng, hơn thế nữa việc đồng bộ tài nguyên dùng 
chung trong Java cũng rất đơng giản. Điều này là không thể có đối với một số 
ngôn ngữ lập trình khác như C/C++, pascal  
6. Phân tán 
 Java hỗ trợ đầy đủ các mô hình tính toán phân tán: mô hình client/server, 
gọi thủ tục từ xa 
7. Hỗ trợ internet 
 Mục tiêu quan trọng của các nhà thiết kế java là tạo điều kiện cho các nhà 
phát triển ứng dụng có thể viết các chương trình ứng dụng internet và web một 
cách dễ dàng, với java ta có thể viết các chương trình sử dụng các giao thức TCP, 
UDP một cách dễ dàng, về lập trình web phía máy khách java có công nghệ java 
applet, về lập trình web phía máy khách java có công nghệ servlet/JSP, về lập 
trình phân tán java có công nghệ RMI, CORBA, EJB, Web Service. 
8. Thông dịch 
 Các chương trình java cần được thông dịch trước khi chạy, một chương 
trình java được biên dịch thành mã byte code mã độc lập với hệ nền, chương trình 
thông dịch java sẽ ánh xạ mã byte code này lên mỗi nền cụ thể, điều này khiến 
java chậm chạp đi phần nào. Các ứng dụng này sử dụng JDBC API để kết nối tới cơ sở dữ liệu. Chúng 
có thể là Applet hay ứng dụng, nhưng Applet bị giới hạn bởi tính bảo mật. 
6. Ứng dụng mạng 
 Java là một ngôn ngữ rất thích hợp cho việc xây dựng các ứng dụng mạng. 
Với thư viện Socket bạn có thể lập trình với hai giao thức: UDP và TCP. 
7. Ứng dụng nhiều tầng 
 Với Java bạn có thể xây dựng phân tán nhiều tầng với nhiều hỗ trợ khác 
nhau như: RMI, CORBA, EJB, Web Service 
8. Ứng dụng cho các thiết bị di động 
 Hiện nay phần lớn các thiết bị di động như: Điện thoại di động, máy trợ 
giúp cá nhân đều hỗ trợ Java. Thế nên bạn có thể xây dựng các ứng dụng chạy 
trên các thiết bị di động này. Đây là một kiểu ứng dụng khá hấp dãn, bởi vì các 
thiết bị di động này ngày càng phổ biến và nhu cầu có các ứng dụng chạy trên đó, 
đặc biệt là các ứng dụng mang tính chất giải trí như game 
IV. Máy ảo Java (JVM-Java Virtual Machine) 
 Máy ảo là một phần mềm mô phỏng một máy tính thật (máy tính ảo). Nó có 
tập hợp các lệnh logic để xác định các hoạt động của máy tính và có một hệ điều 
hành ảo. Người ta có thể xem nó như một máy tính thật (máy tính có phần cứng 
ảo, hệ điều hành ảo). Nó thiết lập các lớp trừu tượng cho: Phần cứng bên dưới, hệ 
điều hành, mã đã biên dịch. 
 Trình biên dịch chuyển mã nguồn thành tập các lệnh của máy ảo mà không phụ 
thuộc vào phần cứng và hệ điều hành cụ thể. Trình thông dịch trên mỗi máy sẽ 
chuyển tập lệnh này thành chương trình thực thi. Máy ảo tạo ra một môi trường 
bên trong để thực thi các lệnh bằng cách: 
 1 Nạp các file .class BÀI 2 NỀN TẢNG CỦA JAVA 
I. Tập ký tự dùng trong java 
 Mọi ngôn ngữ nói chung, ngôn ngữ lập trình nói riêng đều phải xây dựng 
trên một tập hợp chữ cái (hay còn gọi là bảng chữ cái), các kí tự được nhóm lại 
theo một cách nào đó để tạo thành các từ, các từ lại được nhóm lại thành các câu 
(trong ngôn ngữ lập trình gọi là câu lệnh), một chương trình máy tính tính là một 
tập các câu lệnh được bố trí theo một trật tự mà người viết ra chúng sắp đặt 
 Ngôn ngữ java được được xây dựng trên bảng chữ cái unicode, do vậy ta có 
thể dùng các kí tự unicode để đặt tên cho các định danh. 
II. Từ khoá của Java 
 Mỗi ngôn ngữ lập trình có một tập các từ khoá, người lập trình phải sử 
dụng từ khoá theo đúng nghĩa mà người thiết kế ngôn ngữ đã đề ra, ta không thể 
định nghĩa lại nghĩa của các từ khoá, như sử dụng nó để đặt tên biến, hàm.. 
Sau đây là một số từ khoá thường gặp: 
 Từ khóa Mô tả 
abstract Sử dụng để khai báo lớp, phương thức trừu tượng 
boolean Kiểu dữ liệu logic 
break Được sử dụng để kết thúc vòng lặp hoặc cấu trúc switch 
byte kiểu dữ liệu số nguyên 
case được sử dụng trong lện switch 
cast Chưa được sử dụng (để dành cho tương lai) 
catch được sử dụng trong xử lý ngoại lệ 
char kiểu dữ liệu ký tự 
class Dùng để khai báo lớp return Quay từ phương thức về chỗ gọi nó 
short kiểu số nguyên 
static Dùng để khai báo biến, thuộc tính tĩnh 
super Truy xuất đến lớp cha 
switch lệnh lựa chọn 
synchronized một phương thức độc quyền truy xuất trên một đối tượng 
this Ám chỉ chính lớp đó 
throw Ném ra ngoại lệ 
throws Khai báo phương thức ném ra ngoại lệ 
true Giá trị logic 
try sử dụng để bắt ngoại lệ 
void Dùng để khai báo một phương thức không trả về giá trị 
while Dùng trong cấu trúc lặp 
III. Định danh (tên) 
 Tên dùng để xác định duy nhất một đại lượng trong chương trình. Trong java 
tên được đặt theo quy tắc sau: 
 - Không trùng với từ khoá 
 - Không bắt đầu bằng một số, tên phải bắt đầu bằng kí tự hoặc bắt đầu bằng kí 
 $,_ 
 - Không chứa dấu cách, các kí tự toán học như +, -, *,/, %.. 
 - Không trùng với một định danh khác trong cùng một phạm vi 
chú ý: 
 - Tên nên đặt sao cho có thể mô tả được đối tượng trong thực tế 
 - Giống như C/C++, java có phân biệt chữ hoa chữ thường 
 - Trong java ta có thể đặt tên với độ dài tuỳ ý 
 - Ta có thể sử dụng các kí tự tiếng việt để đặt tên • Trong ngôn ngữ Java, lớp là một đơn vị mẫu có chứa dữ liệu và mã lệnh liên 
 quan đến một thực thể nào đó. Khi xây dựng một lớp, thực chất bạn đang tạo ra 
 một một kiểu dữ liệu. Kiểu dữ liệu mới này được sử dụng để xác định các biến 
 mà ta thương gọi là “đối tượng”. Đối tượng là các thể hiện (instance) của lớp. 
 Tất cả các đối tượng đều thuộc về một lớp có chung đặc tính và hành vi. Mỗi 
 lớp xác định một thực thể, trong khi đó mỗi đối tượng là một thể hiện thực sự. 
 - Khi ban khai báo một lớp, bạn cần xác định dữ liệu và các phương thức của 
lớp đó. Về cơ bản một lớp được khai báo như sau: 
Cú pháp: 
class classname 
{ var_datatype variablename; 
: 
met_datatype methodname(parameter_list) 
: 
} 
Trong đó: 
class - Từ khoá xác định lớp 
classname - Tên của lớp 
var_datatype - kiểu dữ liệu của biến 
variablename - Tên của biến 
met_datatype - Kiểu dữ liệu trả về của phương thức 
- Để biên dịch một chương trình java sang mã byte code ta dùng lệnh 
 C:\JDK1.4\BIN\javac TênTệp.java 
- Để thông dịch và chạy chương trình ta sử dụng lệnh 
 C:\JDK1.4\BIN\java TênTệp 
Để biên dịch và chạy chương trình Java đơn giản ta nên thiết đặt hai biến môi 
trường “paht” và “classpath” như sau: 
- Đối với dòng WinNT: 
 + R-Click vào My Computer chọn Properties chọn 
 AdvancedEnviroment Variables 
public class HelloWorld { 
 public static void main(String[] args){ 
 System.out.println("Hello World"); 
 } 
} 
• Ghi lại với cái tên C:\HelloWorld.java (chú ý tên tệp phải trùng với tên lớp, kể 
 cả chữ hoa chữ thường, phần mở rộng là java) 
- Mở của sổ DOS Prompt 
 + chuyển vào thư mục C:\ 
 + Gõ lệnh javac HelloWorld.java để biên dịch chương trình, nếu việc biên 
 dịch thành công (chương trình không có lỗi cú pháp) thì ta sẽ thu được 
 tệp HelloWorld.class trong cùng thư mục, nếu trong chương trình còn 
 lỗi cú pháp thì trong bứơc này ta sẽ nhận được một thông báo lỗi và lúc 
 này tệp HelloWorld.class cũng không được tạo ra 
 + Gõ lệnh java HelloWorld (chú ý không gõ phần mở rộng) để chạy chương 
 trình HelloWorld. 
Sau khi thông dịch và chạy ta nhận được 
VI. Chú thích trong chương trình 
 boolean kiểu logic true hoặc false - - Boolean 
void - - - - Void 
Đặc điểm của các biến có kiểu nguyên thủy là vùng nhớ của chúng được cấp phát 
ở phần stack. Do vậy việc truy xuất vào một biến kiểu nguyên thủy rất nhanh. 
2. Kiểu tham chiếu 
Trong Java có 3 kiểu dữ liệu tham chiếu 
 Kiểu dữ liệu Mô tả 
 Mảng (Array) Tập hợp các dữ liệu cùng kiểu. 
 Lớp (Class) Là sự cài đặt mô tả về một đối tượng trong bài toán. 
 Giao diện Là một lớp thuần trừu tượng được tạo ra cho phép cài đặt 
 (Interface) đa thừa kế trong Java. 
 Đặc điểm của các biến kiểu tham chiếu là nó chứa địa chỉ của đối tượng mà 
nó trỏ đến. 
 Vùng nhớ của biến tham chiếu được cấp phát ở vùng nhớ stack còn vùng 
nhớ của đối tượng được cấp phát ở vùng nhớ heap. Việc truy xất vào vùng nhớ 
heap chậm hơn truy xất vào vùng nhớ stack tuy nhiên java có cơ chế cho phép truy 
cập vào vùng nhớ heap với tốc độ xấp xỉ bằng tốc độ truy cập vào vùng nhớ stack. 
VIII. Khai báo biến 
1. Khai báo biến 
 Tương tự ngôn ngữ C/C++, để khai báo biến trong java ta sử dụng cú pháp 
sau: 
type name [=InitValue]; 
• biến phạm vi lớp là biến được khai báo bên trong lớp nhưng bên ngoài các 
 phương thức và hàm tạo, tuy nhiên việc khai báo phải xuất hiện trước khi biến 
 được sử dụng 
• biến phạm vi cục bộ là biến được khai báo bên trong một khối, phạm vi của 
 biến tính từ điểm biến được khai báo cho đến cuối khối mà biến được khai báo 
Ví dụ: 
{ 
int i=1; 
// chỉ có i sẵn sàng sử dụng 
{ 
int j=10; 
// cả i và j đều sẵn sàng 
} 
// chỉ có i sẵn sàng 
// j không sẵn sàng vì nằm ngoài phạm vi 
} 
Chú ý: Ta không thể làm điều sau cho dù nó có thể trong C/C++ 
{ 

File đính kèm:

  • pdfgiao_trinh_java_co_so.pdf