Giới thiệu ngôn ngữ lập trình java - Pdf 63

Sưu tầm bởi: www.daihoc.com.vn

1
Chương 2
Giới thiệu ngôn ngữ lập trình Java
1. Giới thiệu công nghệ Java
1.1 Lịch sử phát triển
Lịch sử phát triển của Java bắt đầu năm 1991 khi SUN tiến hành các dự án lập trình cho
vi xử lý dùng trong các thiết bị điện tử khác nhau. C++ không đáp ứng được các yêu
cầu này vì C++ cho đem mã nguồn từ máy này sang máy khác nhưng sau khi biên dịch
lại hoàn toàn phụ thuộc vào từng bộ vi xử lý cụ thể. Trong khi đó bộ vi xử lý dùng trong
các thiết bị điện tử rất đa dạng và có vòng đời khá ngắn ngủi. Nếu ta thay đổi bộ xử lý
dẫn đến cần phải thay đổi trình biên dịch C++, điều này gây lên tốn kém. SUN đã thiết
kế một ngôn ngữ lập trình mới có tính khả chuyển cao hơn đó chính là Java. Java là tên
địa phương nơi xuất xứ của một loại cà phê ngon nổi tiếng.
Java được chính thức công bố năm 1995 và ngay lập tức đã tạo lên một trào lưu
mới trên toàn thế giới và từ đó đến nay vẫn tạo được sức cuốn hút mạnh mẽ. Bởi vì
Java không chỉ đơn thuần là một ngôn ngữ lập trình mà nó là giải pháp cho nhiều vấn
đề.
1.2. Cấu trúc của máy ảo Java (Java Virtual Machine)
Chương trình ứng dụng hoạt động bằng cách sử dụng các đối tượng của Java (Java
Object). Máy ảo Java tạo thành một cầu nối giữa trình ứng dụng viết bằng Java và hệ
điều hành. Máy ảo Java bao gồm các thành phần sau :
 Trình nạp lớp (Class Loader): đọc bytecode từ đĩa hoặc từ kết nối mạng.
 Trình kiểm tra lớp (Class Verifier): Kiểm tra các lớp sẽ không sinh ra các lỗi ảnh

trên mạng. Java có bốn tầng bảo an:
Tầng 1: Mức ngôn ngữ và trình biên dịch. Java không có kiểu con trỏ. Trình biên dịch
kiểm tra kiểu rất chặt chẽ. Mọi chuyển đổi kiểu đều phải được thực hiện một cách tường
minh. Trình biên dịch Java từ chối sinh ra mã byte nếu mã nguồn không tuân thủ
nghiêm ngặt các quy tắc an toàn.
Tầng 2: Trình nạp lớp (Class Loader) Có khả năng phân biệt những lớp đến từ mạng và
những lớp nạp từ hệ thống. Nhờ khả năng phân biệt như vậy lớp được nạp qua mạng
được khống chế chặt chẽ, không được phép thực hiện các thao tác mức thấp.
Tầng 3: Trình kiểm tra mã byte. Trình này sẽ kiểm tra mã byte vào lúc chạy chương
trình bảo đảm chương trình Java đã được biên dịch một cách đúng đắn. Khi thực hiện
sẽ không gây lỗi ảnh hưởng tới hệ thống cũng như không đụng chạm tới dữ liệu riêng
tư trên máy khách.
Tầng 4: Trình bảo an. Kiểm tra mã byte vào lúc chạy nhằm bảo đảm mã đang xét không
vi phạm qui tắc an toàn đã được thiết lập. Các thao tác của ứng dụng được xem là có
khả năng gây nguy hiểm như đọc, xóa tệp đều phải được Trình bảo an cho phép.
 Java cung cấp cho người lập trình một thư viện khủng lồ
Java cung cấp cho người lập trình một thư viện khổng lồ các hàm chuẩn, gọi là core
API. Các hàm chuẩn này được đặt trong các gói.
 Java có cơ chế quản lý bộ nhớ tự động
Quản lý bộ nhớ là một trong những vấn đề phức tạp đối với C và C
++
. Khi thực hiện
chương trình người lập trình chịu trách nhiệm khởi tạo các vùng nhớ, sau khi dùng phải
giải phóng các vùng nhớ này. Chỉ cần một lỗi nhỏ có thể làm cạn kiệt tài nguyên dẫn
đến treo hệ thống.
Java đã loại bỏ gánh nặng này cho người lập trình. Các vùng nhớ được tự động giải
phóng nếu như nó không tham chiếu đến bất kỳ đối tượng nào đang hoạt động
 Chi phí phát triển ứng dụng bằng Java thấp
Sưu tầm bởi: www.daihoc.com.vn


Ứng dụng độc lập Java Applet
Khai báo Là lớp con của bất kỳ lớp nào
trong các gói thư viện các lớp
Phải là lớp con của Applet
Giao diện đồ họa Tùy chọn Do trình duyệt Web quyết
định
Yêu cầu bộ nhớ Bộ nhớ tối thiểu Bộ nhớ dành cho cả trình
duyệt và applet đó
Cách nạp chương trình Nạp bằng dòng lệnh Thông qua trang Web
Dữ liệu vào Thông qua các tham số trên Các tham số đặt trong tệp
Sưu tầm bởi: www.daihoc.com.vn

4
dòng lệnh HTML gồm địa chỉ, kích th-
ớc của trình duyệt
Cách thức thực hiện Mọi hoạt động được bắt đầu và
kết thúc ở main() nh- trong
C/C++
Gọi các hàm: init(), start(),
stop(), destroy(), paint()
Kiểu ứng dụng Ứng dụng trên các máy chủ
Server. Công cụ phát triển phần
mềm, - ứng dụng trên các máy
khách
Các ứng dụng trên Web
Bảng 2.1
1.7. Cài đặt chương trình dịch Java và các công cụ
Để cài đặt Java J2SDK ta cần tải về bộ J2SDK tại trang http://www.sun.com
,
trang này cập nhật những phiên bản mới nhất của Java. Sau đó ta tải về bộ công cụ

Hình 2.1

Nháy vào nút lệnh New để nhập vào thông tin về biến môi trường Hình 2.2
Sau đó nháy chuột vào nút lệnh OK để hoàn thành
Thiết lập biến môi trường classpath cũng tiến hành tương tự
Sưu tầm bởi: www.daihoc.com.vn

6
Hình 2.3

Bước 3:
Cài đặt chương trình soạn thảo Edit Plus.
Bước 4:
Tạo lập các công cụ biên dịch và thực thi chương trình trong Edit Plus. Giao diện
của chương trình soạn thảo như sau:
1.8. Một số ví dụ mở đầu
Ví dụ 1: Tạo chương trình Java cho phép nhập một dòng ký tự từ đối dòng lệnh và hiển
thị xâu ký tự đó lên trên màn hình:
class ViDu1
{
public static void main(String[] args)
{
System.out.println(args[0]);
}

Tạo một trang html để nhúng applet
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<applet code="ViDu2.class" width=400 height=400>
</BODY>
</HTML>
Trong tài liệu trên ta để ý thấy dòng <applet code="ViDu2.class" width=400 height=400>
cho phép ta nhúng một applet trong một văn bản web.
Để thực thi applet ta chỉ cần hiển thị trang ViDu2.html trên trình duyệt. Kết quả được thể
hiện ở hình dưới đây:
Sưu tầm bởi: www.daihoc.com.vn

8Hình 2.4
2. Ngôn ngữ lập trình Java
2.1 Cấu trúc tệp của một chương trình Java
Một tệp tin chương trình Java có thể có các phần được đặc tả như sau:
1. Định nghĩa một gói là tùy chọn thông qua định danh của gói (package).
2. Một số lệnh nhập import (0 hoặc nhiều).

Sưu tầm bởi: www.daihoc.com.vn

9

Lưu ý:
 Tệp chương trình Java luôn có tên trùng với tên của một lớp công khai
(lớp chứa hàm main() nếu là ứng dụng độc lập) và có phần mở rộng là
.java.
 Tệp NewApp.java nếu là chương trình ứng dụng độc lập thì phải có một
lớp có tên là NewApp và lớp này phải có phương thức main(). Phương
thức này luôn có dạng: public static void main(String args[]){ // Nội dung
cần thực hiện của chương trình ứng dụng }
 Khi dịch (javac) thì mỗi lớp trong tệp chương trình sẽ được dịch thành
byte code và được ghi thành tệp riêng có tên trùng với tên của lớp và có
đuôi .class. Những lớp này sẽ được nạp vào chương trình lúc thông dịch
và thực hiện theo yêu cầu.
 Trong chương trình Java không có các khai báo biến, hàm tách biệt khỏi
lớp và chỉ có các khai báo và định nghĩa các lớp, interface. Như thế
chương trình Java được xem như là tập các lớp, interface và các đối
tượng của chúng trao đổi thông điệp với nhau (bằng các lời gọi hàm) để
thực hiện các nhiệm vụ của ứng dụng.
2.2. Định danh, kiểu dữ liệu và khai báo biến
Định danh (Identifier) Tên gọi của các thành phần trong chương trình được gọi là định
danh
Định danh thường được sử dụng để xác định biến, kiểu, phương thức, lớp.
Qui tắc cho định danh:
 Định danh là một dãy các ký tự gồm các chữ cái, chữ số và các ký tự khác: ‘_’,
$,...
 Định danh không bắt đầu bằng chữ số.
 Độ dài của định danh không giới hạn.

int 32
long 64
float 32
doube 64

Bảng 2.2
Chú ý:
 Các giá trị kiểu nguyên thủy không phải là đối tượng.
 Mỗi kiểu dữ liệu có miền xác định và các phép toán xác định trên nó.
 Mỗi kiểu dữ liệu nguyên thủy có một lớp gói (wrapper class) để sử dụng các kiểu
nguyên thủy như là các đối tượng.

Sưu tầm bởi: www.daihoc.com.vn

11

Kiểu dữ liệu Lớp gói
char Char
byte Byte
short Short
int Integer
long Long
float Float
double Double

Bảng 2.3
2.4. Khai báo các biến
a. Các loại biến trong Java
 Các biến thành phần: là các thành phần của lớp và được khởi tạo giá trị mỗi khi
một đối tượng của lớp được tạo ra.

Ví dụ
float f = (float)100.15D;
Mở rộng và thu hẹp kiểu byte short
int long float double

char

Ví dụ 1:Mở rộng kiểu
char c = ‘A’;
int k =c;
Ví dụ 2:Thu hẹp kiểu
int k =10;
char c=(char)k;
2.3. Các lệnh trong Java
Một lệnh có thể thay đổi trạng thái của máy tính: giá trị của các biến, các phần tử của
mảng, nội dung của các tệp tin,…
2.3.1. Lệnh biểu thức
Một lệnh biểu thức là lệnh có dạng:
<Biểu thức>;
Nó được xử lý bằng cách đánh giá biểu thức mà không cần lưu lại giá trị tính toán.
2.3.2. Khối lệnh
Khối lệnh trong Java tương tự như khối lệnh trong C/C++, là những lệnh nằm trong cặp
ngoặc mở { và đóng }.
Một khối lệnh là một dãy không hoặc nhiều lệnh hoặc các khai báo biến hoặc khai báo
lớp theo bất kỳ thứ tự nào được đặt trong cặp ngoặc {}
{
S1;

Ví dụ: Viết chương trình nhập vào một dãy số nguyên từ đối dòng lệnh, sắp xếp dãy số
đó và hiển thị dãy số sau khi sắp xếp lên màn hình.
class SapXep
{
public static void main(String[] args)
{
int a[]=null;
int i,j,tg;
if(args.length>0)
{
a=new int[args.length];
} for(i=0;i<args.length;i++)
{
a[i]=Integer.parseInt(args[i]);
System.out.print(a[i]+" ");
}
Sưu tầm bởi: www.daihoc.com.vn

14
System.out.println();

for(i=0;i<a.length-1;i++)
for(j=i+1;j<a.length;j++)
if(a[i]>a[j])
{
tg=a[i];
a[i]=a[j];

15
 Lệnh while
while (<Điều_kiện>) <Thân_chu_trình>
Chú ý:
Có thể <Thân_chu_trình> không được thực hiện lần nào nếu ngay từ đầu
<Điều_kiện> có giá trị false.
<Điều_kiện> là biểu thức boolean.
Ví dụ: Lập chương trình in ra dãy số Fibonaci có các giá trị nhỏ hơn 50.
class Fibonaci
{
public static void main(String[] args)
{
int lo=1;
int hi =1;
System.out.println(lo);
while(hi<50)
{
System.out.println(hi);
hi=lo+hi;
lo=hi-lo;
}
}
}
 Lệnh do – while
Cú pháp
do
{
//Các lệnh
}
while(<Điều_kiện>);

sang phần khác của chương trình.
 Lệnh break: Được dùng để kết thúc trình tự thực hiện lệnh trong lệnh switch
hoặc được sử dụng để thoát ra khỏi một vòng lặp.
class BreakDemo
{
public static void main(String[] args)
{
for(int i=0;i<20;i++){
if(i==10)break;
System.out.println("i="+i);
}

}
}
Chương trình này in ra kết quả là:
i=0
i=1
Sưu tầm bởi: www.daihoc.com.vn

17
i=2
i=3
i=4
i=5
i=6
i=7
i=8
i=9
Như chúng ta có thể thấy, vòng lặp for được thiết kế để chạy với các giá trị từ 0 đến 9,
lệnh break làm cho vòng lặp kết thúc sớm khi i bằng 10.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status