You are on page 1of 30

1

Gii thiu v Java


2
Ni dung
Xut s
c im
Java Development Kit (JDK)
Mt s IDE dng cho Java
Chng trnh Java n gin
3
I. Xut s
Java l mt ngn ng lp trnh mi do mt
nhm cc nh khoa hc ca hng Sun
Microsystems sng to nn.
Java c bit hng i tng v rt mnh v
Internet.
Lch s Java bt u t 4/1991, khi mt nhm
lp trnh ca Sun c giao nhim v thc hin
n vi tn gi Green.
4
Green l n nhm a cc k thut tin
hc vo nhng thit b in t thng
mi, nh mt cuc t ph v k thut,
qua duy tr tc pht trin v li
nhun ca hng.
Lnh o n l James Gosling quyt
nh cn c mt ngn ng tha mn tnh
uyn chuyn (portability).
5
Lc c ngn ng C++ t ra kh uyn
chuyn nhng vn cha p ng c
yu cu ca n.
Bi v, tnh uyn chuyn y khng
nhng v pha m ngun chng trnh m
cn c vi b x l. Trong khi cc thit
b in t thng mi c nhng b x l
khc nhau v vng i ngn.
6
Nu s dng ngn ng C++, khi gp mt
b x l mi cn phi thay i chng
trnh dch, ri bin dch li chng trnh.
Ngoi ra C++ l ngn ng kh phc tp
Thng 8/1991, J.Gosling bt tay vo vic
thit k ra mt ngn ng mi v t tn l
Oak /ouk/ (Cy si).
7
ng ta gii thch cch t tn cho ngn
ng mi ny l cy si bi v trong qu
trnh a vo cu trc th mc cho ngn
ng mi, ng nhn qua ca s phng lm
vic v thy cy si.
Ban u Oak khng c quan tm n,
thm ch c ngi cn gii thch Oak l
vit tt ca cc ch ci trong cm Object
Application Kernel .^_^.
8
Khong ma xun 1994, khi cc nh lnh
o ca Sun Microsystems hoch nh
cc chnh sch thng mi lin quan n
Internet, Oak mi c ch n.
Sau , J.Gosling cng mt s ng
nghip m thm lm vic a Oak
n vi Internet trong gn mt nm tri.
9
Thng ging nm 1995, Oak c i tn
thnh Java.
Nguyn nhn chnh l do Oak trng tn
vi mt sn phm thng mi ng k
bn quyn.
Ngy 23/5/1995, Java c Sun chnh
thc cng b Sun World95.
10
II. c im ca Java
Tnh uyn chuyn ca java do chng
trnh bin dch to ra m byte (bytecodes)
khng ph thuc h thng my s dng.
Bytecodes l tp hp cc cu lnh tng
t nh nhng lnh m my (machine
code), n c to ra khi mt chng
trnh Java c bin dch xong.
11
S khc nhau y l m my ch thc
hin trn h thng my tnh m n c
bin dch, trong khi bytecodes c th thc
hin trn bt k h thng no c trang b
trnh iu khin Java (JVM, thng dch).
Tnh uyn chuyn lm tng kh nng
ti s dng ca cc lp to ra, tc l
lm ni bt tnh hng i tng.
12
Back
Source
Code Java
(*.java)
Win9x/WinNT ...
Linux/Unix...
Bytecodes
Java
(*.class)
J
a
v
a

C
o
m
p
i
l
e
r

(
j
a
v
a
c
)
J
a
v
a

I
n
t
e
r
p
r
e
t
e
r

(
j
a
v
a
)
Win32
Linux
Solaris
.
13
Mt s c tnh ca Java do Sun a ra
Java l n gin (simple): java c k
tha t C++, v c loi b i cc tnh
nng kh nht ca C++, dn n java d
s dng hn. Do yu cu ca cng vic,
java phi c dng v nh cc ngn ng
hin hnh v i hi thi gian hun luyn
ngn.
14
Java hng i tng (Object Oriented):
V d v chi ca tr em, sn phm
ca lp trnh hng cu trc l mt ta lu
i bng nha lin (c thnh), nu a
tr mun c mt chic t nha th Tm
li, ging nh nhng khi Lego, cc lp
ca Java cng rt linh hot v c s
dng li nhiu ln.
15
Java l mnh (robus): java c sn tnh
nng automatic garbage collection b
nh c gii phng mt cch t ng,
nh lp trnh vin c th trnh c
nhng h hng b nh v bo m tnh
ton vn d liu.
16
Java c tnh c lp vi cu trc (architechture
neutral): y l im c sc nht ca java, c
ngha l java khng ph thuc vo h my
(platform loi my v h iu hnh).
Java c tnh di ng (portable): kh nng c
lp h my gip java c th di chuyn trn phm
vi rng. Cc loi giao din d liu cng nh
dng v v cm nhn ca java u ging nhau
trn mi h my. H thng cc thnh phn ca
java cng c tnh di ng cao chng c vit
bng java.
17
Java l ngn ng thng dch (Interpreted):
y l c im lin quan trc tip n
tnh khng ph thuc vo h my ca
Java. (s ).
Java l tc cao (hight performance):
Cc d n ca java thng c tch
thnh nhiu module, nh vy tc thc
thi thng rt cao.
18
Java l a lung (Multithreaded): trnh ng dng
ca java thng bao gm nhiu qu trnh xy ra
ng thi. Tnh a lung ca Java cho php ta
c th bin son phn mm p ng tt hn,
tng tc tt hn, v thc hin theo thi gian
thc.
Java c tnh ng (dynamic): v java c thit
k p ng mi trng tc nghip lun trong
tnh trng thay i. Khi c yu cu mi trn th
trng, cc i tng mi s c b sung.
19
III. Java Development Kit
C hai chng trnh c bn thng dng:
- Khi bin dch mt chng trnh vit bng java :
javac file.java
- Sau khi bin dch, tp tin file.class c sinh
ra, thc thi chng trnh, i vi ng dng
thng thng ta s dng :
java file
i vi cc Applet ta s dng :
appletviewer file.java
hoc appletviewer file.htm
20
IV. Intergreted Development
Environment for Java
Ci t java : Download J2SE (JavaTM 2
Platform Standard Edition Development Kit 5.0)
v ci t vo h thng ang s dng. i
vi WinNT J2SE bao gm 2 phn, l
JRE v JDK. Tin hnh ci t JDK, sau
ci JRE.
Mt s IDE thng dng ca Java nh:
JPadPro, SitePadPro, NetBeans, JBuilder,
Eclipse
21
hiu r bn cht ca chng trnh
Java, trc ht nn th khng cn s
dng IDE dch v chy java, hoc c
th s dng SitePadPro, hay JPadPro
l nhng IDE n gin h tr java.
Nhng phn mm ny lm vic trong mi
trng Windows, c th download ti a
ch http://www.modelworks.com. Hng dn
ci t v s dng JPadPro 5.1 .
22
Bn cnh ta c th s dng mt s
cng c chuyn dng thit k chng
trnh Java nh: NetBeans Developer ca
Sun (http://www.netbeans.com); JBuider ca
Borland Inprise (http://www.Inprise.com)
IDE ca java c nh gi l thun tin
nht hin nay l Eclipse (http://www.eclipse.org)
Hng dn s dng Eclipse .
23
Hng dn thit lp Path cho h thng:
thm vo ng dn tuyt i ca th
mc bin ca java cho bin mi trng
Path ca WinNT, hoc cho tp
Autoexe.bat ca Win9x .
Hng dn cu hnh Java trnh duyt
c th xem c cc Applet ca java: Vo
Control Panel > Java > Advanced
24
V. Chng trnh HelloWord
Java c nhiu loi ng dng khc nhau,
bao gm: Console, Applet, Frame,
Servelet
Console l loi ng dng n gin nht
ca Java (cha c khai bo c bit, hay
s dng cc th vin). on m sau l
chng trnh m u ca ng dng
Console:
25
public class HelloWorld {
public static void main(String[] args) {
System.out.println(Hello World);
}
}
Ch java phn bit ch hoa vi ch thng. Lu on
m trn vo file c tn l HelloWorld.java, lu tn file
phi trng vi tn lp (c phn bit kiu ch), v phn
m rng ca n l *.java
M ca s DOS, tm ti th mc cha file trn, dch
chng trnh bng lnh javac, ri chy n bng lnh
java
26
Applet: y l loi ng dng rt mnh ca java
trn lnh vc Internet, y l chng trnh
HelloWorld ca n:
//<applet code=HelloWorld width=200 height=200></applet>
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString(HelloWorld!,5, 15);
}
}
27
Lu on m trn vo file HelloWorld.java, sau
vo DOS bin dch n bng lnh java
chy Applet, ta c hai cch:
- Dng trnh appletviewer:
appletvieuwer HelloWorld.java
- Chy qua trnh duyt bng cch to mt file
*.htm.
28
Frame - ng dng ha: java c th
vin AWT (Abstract Windowing Toolkit) cung cp
tng i y cc thnh phn GUI nh
button, label mc nng cao, java cn
c JFC (Java Foundation Class). Frame l mt
ng dng c lp (ging form trong C#), n
hot ng nh mt Container hay nh mt
thnh phn (Component). Sau y l mt ng
dng Frame n gin:
29
import java.awt.*;
class HelloWorld extends Frame {
Label label1 = new Label(HelloWorld !);
public HelloWorld(String title) {
super(title);
add(label1);
}
public static void main(String args[]) {
HelloWorld f = new HelloWorld(Label);
f.setSize(300,200);
f.show();
}
}
30
Lu on m va son tho trn vo file
HelloWorld.java, sau dng javac
bin dch n, ri dng java thng dch.
Kt qu s l mt Frame c dng ch
HelloWorld.

You might also like