Tài liệu Java tổng hợp - Các khái niệm cơ bản - Pdf 63

Trang 5
Chng 1: CÁC KHÁI NIM C BN
BÀI 1. LÀM QUEN VI JAVA
I. Lch s java
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, 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.
II. Java em là ai
Java là ngôn ng lp trình hng i tng, do vy không th dùng Java  vit
mt chng trình hng chc nng. Java có th gii quyt hu ht các công 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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 n thoi di ng, PDA, …
II. Mt sc trng ca java
1n gin

C, C++ nay c hn ch trong Java, u này làm chng trình rõ ràng, sáng sa, ít li
n.Java kim tra lúc biên dch và c trong thi gian thông dch vì vy Java loi b mt
mt s loi li lp trình nht nh.Java không s dng con tr và các phép toán con tr.
Java kim tra tt c các truy nhp n mng, chui khi thc thi m bo rng các truy
nhp ó không ra ngoài gii hn kích thc.
Trong các môi trng lp trình truyn thng, lp trình viên phi t mình cp phát
b nh. Trc khi chng trình kt thúc thì phi t gii phóng b nhã cp. Vn  ny
sinh khi lp trình viên quên gii phóng b nhã xin cp trc ó. Trong chng trình
Java, lp trình viên không phi bn tâm n vic cp phát 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).
 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 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. 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 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.
Trang 7
8. Thông dch

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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u hành
Trang 8
o). Nó thit lp các lp tru tng cho: Phn cng bên di, h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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:
Ø Np các file .class
Ø Qun lý b nh
Ø Dn “rác”
Vic không nht quán ca phn cng làm cho máy o phi s dng ngn xp  lu tr
các thông tin sau:
Ø Các “Frame” cha các trng thái ca các phng thc.
Ø Các toán hng ca mã bytecode.
Ø Các tham s truyn cho phng thc.
Ø Các bin cc b.
Khi JVM thc thi mã, mt thanh ghi cc b có tên “Program Counter” c s dng.

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
const
Cha c dùng
continue
c dùng trong vòng lp  bt u mt vòng lp mi
default
c s dng trong lnh switch
do
c dùng trong vòng lp u kin sau
double
kiu d liu s thc
else
kh nng la chn th hai trong câu lnh if
extends
ch rng mt lp c k tha t mt lp khác
false
Gía tr logic
final
Dùng  khai báo hng s, phng thc không th ghi è, hoc lp không
th k tha

c t truy xut
public
c t truy xut
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)

dng)
- Mi n v biên dch có nhiu nht mt lp c khai báo là public, nu nh trong
n v biên dch có lp public thì tên ca n v biên dch phi trùng vi tên ca lp
public (ging ht nhau c ký t hoa ln ký t thng)
- Bên trong thân ca mi lp ta khai báo các thuc tính, phng thc ca lp ó, Java
là ngôn ng hng i tng, do vy mã lnh phi nm trong lp nào ó. Mi lnh u
c kt thúc bng du chm phy “;”.
- 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
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:
//Nhp khu các th vin
import th_vin;
//Xây dng các lp
public class clsMain{

public static void main(String args[])
{
//m bt u ca chng trình
}

}
class lp1
{

}

Lp bên trong (không phi là lp trong tnh) có th truy nhp tt c các thành phn ca
lp bao nó, song không th ngc li.
V. Chng trình JAVA u tiên
 có th biên dch và chy các chng trình java ta phi cài
- JRE (Java Runtime Enviroment) môi trng thc thi ca java, nó bao gm: JVM (Java
Virtual Machine) máy o java vì các chng trình java c thông dch và chy trên
máy o java và tp các th vin cn thit  chy các ng dng java.
- B công c biên dch và thông dch JDK ca Sun Microsystem
Sau khi cài t JDK (gi s th mc cài t là C:\JDK1.4) ta s nhn c mt cu trúc
th mc nh sau:
- 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
Trang 13
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 AdvancedàEnviroment
Variables
+ Trong phn System variables chn new  thêm bin môi trng mi, trong hp
thoi hin ra gõ “classpath” vào ô Variable Name và
“.;C:\jdk1.4\lib\tools.jar;C:\jdk1.4\lib\dt.jar;C:\jdk1.4\jre\lib\rt.jar” trong ô variable
value (chú ý không gõ du “ vào, mc ích  cho d nhìn mà thôi)
+ Cng trong phn System variables tìm n phn path trong danh sáchàchn edit
 sa li giá tr hin có, trong ô value ta thêm vào cui “;C:\jdk1.4\bin”
Công vic t các bin môi trng ã xong,  thy c tác dng ca các bin môi
tng ta cn phi khi ng li máy
-i vi dòng Win9X:
M tp C:\Autoexec.bat sau ó thêm vào hai dòng sau:

Cách 3: s dng cp /** và */, ây là kiu chú thích tài liu (không có trong C/C++), nó
dùng  to ra tài liu chú thích cho chng trình.
Vi cách th nht và cách ba ta có th vit chú thích trên nhiu dòng, vi cách chú thích
hai ta ch có th chú thích trên mt dòng.
Chú ý: Trong java ta có tht chú thích âu?, câu tr li là: âu có tht c mt
du cách thì ó có tht chú thích.
Trang 15
VII. Kiu d liu
1. Các kiu d liu nguyên thu
T khoá Mô t Kích c Ti thiu Ti a
Lp bao
(kiu s nguyên)
byte s nguyên mt byte 8 bit -128 127 Byte
short s nguyên ngn 16 bit -2
15
2
15
-1 Short
int s nguyên 32 bit -2
31
2
31
-1 Integer
long s nguyên dài 64 bit -2
63
-2
63
-1 Long
(kiu s thc)
float kiu thc vi  chính

u nguyên thu
kiu logic boolean
Kiu s
Kiu s thc
Kiu kí t
Kiu s
boolean
char
byte short
int
long
float
doubl
e
Trang 16
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
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];
trong ó:
- type là kiu d liu cu bin
- name là tên ca bin, tên bin là mt xâu kí tc t theo quy tc t tên ca java
- InitValue là giá tr khi to cho bin, ây là phn tu chn, nu b qua phn này thì giá
tr ban u ca bin c khi to giá tr mc nh
Chú ý:
- Nu cn khai báo nhiu bin có cùng mt kiu d liu ta có tht các khai báo các bin


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