Professional Documents
Culture Documents
LI NI U
Ngy nay, hu nh vic vit mt ng dng chy trn my n cc b khng cn c a
chung v thch hp na. Cc chng trnh v ng dng hin i phi tch hp v triu gi ln
nhau trn mng Intranet (mng cc b), mng Internet (mng ton cu) v ngn ng lp trnh
Java l mt trong nhng la chn tt nht lm vic ny. Java l mt ngn ng lp trnh khng
n gin, ngoi s ni ting v bn thn ngn ng, nn tng Java cn hng n cc ng dng
mng nh: giao tip trn mng theo m hnh khch/ch (client/server) So vi lp trnh thng
thng, lp trnh mng i hi ngi lp trnh nhng hiu bit v k nng chuyn su hn to
giao tip v trao i d liu gia cc my tnh vi nhau.
gip sinh vin chuyn ngnh CNTT trong Nh trng c th tip cn c vi nhng k
thut mi ny, chng ti mnh dn son tho cun Bi ging Lp trnh mng a vo
ging dy cho sinh vin CNTT hc nm th 3 trong Nh trng. Cun bi ging ny c son
tho da trn nn tng cc sinh vin CNTT sau 2 nm hc u trong trng c trang b
y cc kin thc v Ngn ng lp trnh hng i tng, Mng my tnh, Thit k Web. y
l mt mn hc vi c th l kin thc lun i mi v cp nht, do yu cu vi mn hc ny
l sinh vin phi t c thm ti liu, gio vin ch l ngi hng dn nhng vn c bn
nht cho sinh vin.
Lp trnh mng l mn hc mi c a vo ging dy, nn trong qu trnh son tho bi
ging khng trnh khi b ng v thiu st. Chng ti rt mong c s gip , ng gp
kin ca cc ng nghip v c gi quan tm ln ti bn sau cun sch c hon thin hn.
Mi kin ng gp c th gi v theo a ch email: qtmcn1@yahoo.com.
Chng ti xin chn thnh cm n!
H Ni 12/2005
Cc tc gi
Trang 1
MC LC
LI NI U ......................................................................................................................................................1
MC LC.............................................................................................................................................................2
PHN 1: TNG QUAN V LP TRNH MNG ...........................................................................................5
I.
II.
Giao tip trn mng theo m hnh khch/ch (Client/Server) v khi nim socket..........................8
II.1.
II.2.
II.3.
PHN 2:
An ninh .................................................................................................................................................18
Giao din lp trnh ng dng chun - Core API ...................................................................................19
Tng thch vi nhiu kiu phn cng .................................................................................................19
c tnh ng v phn tn ....................................................................................................................19
Hng i tng...................................................................................................................................19
a lung (multi-threads).......................................................................................................................20
Qun l b nh v qu trnh thu dn 'rc' .............................................................................................20
III.
IV.
Cu lnh .....................................................................................................................................................23
Khi lnh....................................................................................................................................................24
IV.1.
IV.2.
V.
Tn........................................................................................................................................................25
T kha.................................................................................................................................................25
Kiu d liu.....................................................................................................................................25
V.1.
V.2.
V.3.
VI.
VII.
VII.1.
Kiu bin...............................................................................................................................................28
VII.1.1. Bin i tng..................................................................................................................................28
VII.1.2. Bin lp............................................................................................................................................28
VII.1.3. Bin cc b.......................................................................................................................................28
VII.1.4. Phm vi ca bin ..............................................................................................................................29
VIII.
IX.
IX.1.
IX.2.
IX.3.
IX.4.
IX.5.
IX.6.
IX.7.
IX.8.
IX.9.
IX.10.
X.
Cc ton t s hc:................................................................................................................................30
Cc php ton tng gim.........................................................................................................................2
Ton t quan h v iu kin ..................................................................................................................2
Ton t lun l........................................................................................................................................2
Cc ton t lm vic vi bit ....................................................................................................................2
Ton t gn ...........................................................................................................................................33
Mt s ton t khc ..............................................................................................................................33
Php ton trn kiu chui ( String) .......................................................................................................34
u tin cc ton t...........................................................................................................................34
Biu thc...............................................................................................................................................35
Cc cu lnh iu khin..................................................................................................................35
Trang 2
III.
III.1.
III.2.
III.3.
III.4.
III.5.
III.6.
III.7.
III.7.1.
III.7.2.
III.
Cc gi............................................................................................................................................66
III.1.To mt gi .....................................................................................................................................................68
III.2.Thit lp ng dn cho lp (classpath)..........................................................................................................70
IV.
Trang 3
III.
Th bc m <% %>..................................................................................................................................112
Th hin th kt xut <%= %> .................................................................................................................113
Th ch dn bin dch trang <%@ page %>.............................................................................................114
Chn ch thch vo m trang JSP.............................................................................................................114
Khai bo phng thc v bin hng <%! %> ..........................................................................................116
Trang 4
tn my tnh
tn t chc
tn vng
Ni chung l theo quy c t phn ring bit nht n phn chung nht. Tuy nhin khng bt
buc l nh vy, ta vn c th t tn theo cch khc, khng nht thit l ch gm 3 hay 4 nhm
(v d: here.is.along.name.address.co.vn l hp l) bi v cui cng th tn vng cng c h
thng DNS chuyn thnh a ch IP m thi.
Trang 6
Trang 7
Trang 8
nht nm byte 0.
Trang 9
To ra mt socket kt ni theo a ch host v s cng port tham s stream cui cng quy
nh kt ni theo TCP (stream=true) hay UDP (stream=false). Tuy nhin nu p dng to
socket cho giao thc UDP nn s dng lp thay th l DatagramSocket.
Cc phng thc khc h tr cho lp Socket t pha my khch bao gm:
Ly a ch kt ni socket ca my ch
int getPort()
port l s hiu cng m i tng ServerSocket phi lng nghe nhn bit nhng kt ni t
pha my khch gi n
ch i kt ni t cc my khch gi n i tng ServerSocket thng nh n phng
thc accept nh sau:
e. Lp DatagramPackage
Lp ny dng cho mt gi d liu gi i trn mng theo kt ni DatagramSocket. Mt gi c
th cha cc thng tin nh d liu, chiu di gi, cc a ch IP v s cng m t cc gi d
liu c gi i. Di y l mt s phng thc hu dng ca lp DatagramPackage ny:
public DatagramPackage (byte buff[], int len, InetAddress iaddr, int port)
Phng thc khi to ra gi c d liu cha trong b m buff[] cng vi chiu di vng
m mun ly, a ch my ch v s hiu cng.
public
URL(String
protocol,
String
host,
int
port,
String
file)
throws
MalformedURLException
Trang 12
String getFile()
String getHost()
String getPort()
Ly v s hiu cng.
String getProtocol()
String getRef()
Ly v ni dung chui tham kho thm trong chui URL(c t sau du # ca chui)
Trang 14
Phn 2:
CHNG 1:
Trang 15
II.Java l g?
Java l cng ngh cho php to ra cc phn mm phn tn (distributed software). y l
nhng phn mm t trn my ch (server), c np v qua kt ni mng v thc hin trn my
khch (client).
Mc d c to ra t nhng nm 70, Internet ch thc s quyn r cc doanh nghip vo
nhng nm 90 nh c s ra i ca World Wide Web. Web cho php ngi s dng truy cp trc
tip cc thng tin trn Internet m khng cn phi hc cc lnh phc tp, cung cp thng tin trc
tuyn v nhiu lnh vc vi hnh nh, m thanh,.. S ra i ca Java cho php Web tin xa hn
na, bin cc trang Web tnh thnh cc ng dng sng ng, c th tng tc vi ngi s dng.
Nhng l do cn bn mi ngi ch n Java l:
+ Cho php vit cc chng trnh mnh v tin cy.
+ Xy dng ng dng chy c trn hu ht cc phn cng v h iu hnh khc nhau
(multi-platform).
+ Phn phi cc ng dng trn mng vi bo mt v an ton cao.
Nh vy, c th ni Java thay i chc nng ca Internet, cng ging nh Web thay i
cch tip cn vo Internet ca chng ta. Ni cch khc, Java chuyn mng t ch ch n
thun cung cp thng tin v chia s ti nguyn sang ng vai tr h iu hnh. y chnh l nn
mng cho php xy dng cc my tnh mng (Network Computer - NC) ca Oracle, IBM v Sun.
Trang 16
Trang 17
IV.1.An ninh
An ninh l mt vn kh khn hng u m ngi lp trnh mng gp phi: Ngi s dng
lun e ngi hai iu: Th nht, thng tin h gi i trn mng c th b c ln v th hai, h
thng ca h c th b xm nhp v ph hoi. Cu trc an ninh ca Java nhm vo gii quyt
ng thi hai vn trn.
Trang 18
IV.5.Hng i tng
Lp trnh hng i tng (OOP) l phng thc vit cc ng dng d bo tr, d nng cp
v c bit l c th ti s dng cc m lnh. Java l mt ngn ng hng i tng, do n c
Trang 19
Trang 20
Bi tp
1. Ci t Java 2
2. G cc lnh sau ti du nhc v lit k cc tham s khc nhau ca chng:
javac
java
Trang 21
I.Ghi ch (Comment)
Cc li ch thch c th c thm vo trong m ngun Java bng hai cch ging nh trong
C++. Cch th nht bt u li ch thch vi du /* v kt thc */ cho php t nhiu dng ch
thch trong cp du trn.
V d:
a = b + c;
/* Here is comment which
extends across two lines
*/
Trang 22
Kt thc
/*
*/
//
Mc ch
on code b gii hn l phn ghi ch.
Ghi ch trn 1 dng, trnh bin dch b qua t // n cui dng
/**
*/
a = b + c + d + e + f + g;
Cng ging nh a = b + c + d +
e + f + g;
II.2.Khi lnh
Cc cu lnh n c th nhm li thnh cc khi bi vy mt khi lnh c th d dng kim
sot s thc hin ca nhiu cu lnh khc. B lnh ca Java khng gii hn trong cp ngoc nhn
{v }. Bn nhn thy cc khi lnh c dng to thnh nhm cc lnh thuc mt lp:
class Flight {
float
int
altitude;
int
heading;
int
speed;
float
latitude;
longintude;
IV.T kha v tn
IV.1.Tn
Cng tng t nh cc ngn ng lp trnh khc nh C, C++, ngn ng lp trnh JAVA cng
quy nh cch t tn nh sau :
Tn c th c bt u bng mt k t, hoc du $, _... nhng khng th bt u bng mt
s v khng c du cch trong tn. Ngoi ra n cn c th dng b k t Unicode t tn.
JAVA phn bit ch hoa v ch thng.
IV.2.T kha
T kha l nhng t c ngha xc nh. Thng c s dng khai bo cc kiu d liu,
vit cc ton t v cc cu lnh.
Sau y lit k mt s t kha ca JAVA
abstract
case
const
else
for
boolean
cast
continue
extends
future
break
catch
default
final
generic
byte
char
do
finally
goto
byvalue
class
double
float
implements
inteface
operator
public
super
thows
volatile
import
long
rest
outer
swicth
transient
while
inner
native
package
return
synchronized
try
instanceof
new
private
short
this
var
int
null
protected
static
throw
void
Ch :
-
V.Kiu d liu
Mi bin phi c mt kiu d liu. Kiu d liu ca bin xc nh cc gi tr m bin c th
cha ng v cc ton t thao tc trn chng.
Trang 25
V.1.Kiu d liu c bn
Kiu
boolean
char
byte
short
int
long
float
double
M t
true , false
K t n
Byte-length
integer
S nguyn ngn
S nguyn
S nguyn di
S thc
S thc
ln
1 bit
16 bits
8 bits
16 bits
32 bits
64 bits
32 bits
64 bits
Min Max
\u0000 \uFFFF
-128 127
-32768 32767
-2147483648 2147483647
-9223372036854775808
9223372036854775807
+/-3.40282347E+38 +/-1.40239846E45
+/-1.79769313486231570E
+/-4.9065645841246544E-324
V.3.Gi tr mc nh
Mt li hay gp phi khi lp trnh l s dng nhng bin cha c khi to. iu ny
thng gy ra li kh on c bi v n c th nhn bt k gi tr no trong vng nh khi
chng trnh bt u chy. Java trnh c li trn bng cch khi to gi tr mc nh cho
cc bin
Trang 26
Gi tr mc nh
byte
short
int
long
0L
float
0.0f-
double
0.0d
char
null
boolean
false
dn xut
null
VI.Hng (literal)
Hu ht cc ngn ng u c mt cch khai bo bin l hng s ( l gi tr khng i).
Java khng l ngoi l T kha final ch dn mt bin cc b hoc bin thnh phn khng th
thay i. Mc ch chnh s dng ca bin final nh l biu th mt hng s. Bn c th thch
hng s l tn, v tn c nh ngha trong mt ch nh n trong m ngun ca bn. Nu
sau ny bn phi thay i s trong m ngun ca bn, bn ch cn thay i ti bin final nh
ngha.
(Cc hm thnh v cc lp c th khai bo nh l final . Mt hm thnh phn final khng th
chng ln nhau, v mt lp final khng th l lp con).
C php:
final Type ConstName = Value;
V du:
final int MAX = 10;
Lu : C hai cch khai bo hng trong C v C++ l #define v const u khng dng trong
JAVA.
VII.Bin
Mt chng trnh tham chiu ti gi tr ca bin bng tn bin. Tn bin phi l duy nht
trong cng mt phm vi, c th c nhiu bin cng tn nhng khai bo cc phm vi khc nhau.
Trang 27
Variable;
Type
Variable = Value;
hay:
VII.1.Kiu bin
C th l mt trong ba hnh thc sau :
-
Tn ca mt lp.
Mt mng.
khai bo mt kiu bin mi, ta phi khai bo mt lp mi. Sau cc bin mi c khai
bo l kiu ca lp .
JAVA c 3 loi bin : Bin lp, bin i tng , bin cc b.
VII.1.1.Bin i tng
Thng dng nh ngha thuc tnh, trng thi cho mt i tng n c th l bin ton
cc ca mt i tng. Khai bo nh sau :
Type
Variable;
VII.1.2.Bin lp
Tng t nh bin i tng, nhng gi tr ca n nm trong chnh lp . N nh hng
ton cc n mt lp v tt c cc i tng trong lp. Rt thch hp trao i thng tin gia
cc i tng khc nhau trong cng mt lp hay theo di trng thi ton cc ca mt i tng.
khai bo mt bin l bin lp ta dng t kha static nh sau :
static Type
Variable;
VII.1.3.Bin cc b
c khai bo v s dng trong thn phng thc. Bin cc b bt buc phi gn gi tr
trc khi s dng. Khng ging nh cc ngn ng lp trnh khc. JAVA khng c bin ton cc.
Bin i tng hay bin lp c dng truyn thng tin ton cc gia hai hay nhiu i
tng.
Trang 28
VII.1.4.Phm vi ca bin
Ging nh ngn ng COBOL tt c cc bin u l bin ton cc. Bin ton cc l mt bin
c th truy cp bt c t u trong mt chng trnh v do vy m bin ton cc phi l bin c
tn c nht. Do tt c cc bin trong COBOL l ton cc nn mi bin trong chng trnh
COBOL l duy nht. T , trong thc tin vic s dng mt bin n cho nhiu mc ch khc
nhau trong tng phn ca chng trnh. Vic kim sot bin ton cc l mt cng vic kh khn
v lm nhiu chng trnh tr nn kh chu. c bit, mt thay i trong mt phn nh ca m c
th nh hng bt li n hu ht cc phn khc ca chng trnh.
Gii php cho vn rc ri ca bin ton cc l s dng bin cc b, bin ny c thi gian
tn ti gii hn v quan h ch trong phn nh ca m. Bn c th dng hai bin cc b c cng
tn nh danh trong cc phn khc nhau ca chng trnh.
Cc bin c nh ngha vi mt hm thnh phn l cc b lin quan n hm thnh phn, v
vy bn c th dng cng tn bin trong vi hm thnh phn, nh v d sau:
Class MyClass {
int i;
// member variable
int First() {
int j;
//
local variable
// i v j u c th truy cp t y
return 1;
}
int Second() {
int j;
//
local variable
// i v j u c th truy cp t y
return 2;
}
}
Cch dng
M t
op1 + op2
op1 - op2
Tr
op1 * op2
Nhn
op1 / op2
Chia
op1 % op2
Chia ly d
V d:
public class ArithmeticDemo {
public static void main(String[] args) {
//a few numbers
int i = 37;
int j = 42;
double x = 27.475;
Trang 30
i = " + i);
System.out.println("
j = " + j);
System.out.println("
x = " + x);
System.out.println("
y = " + y);
//adding numbers
System.out.println("Adding...");
System.out.println("
i + j = " + (i + j));
System.out.println("
x + y = " + (x + y));
//subtracting numbers
System.out.println("Subtracting...");
System.out.println("
i - j = " + (i - j));
System.out.println("
x - y = " + (x - y));
//multiplying numbers
System.out.println("Multiplying...");
System.out.println("
i * j = " + (i * j));
System.out.println("
x * y = " + (x * y));
//dividing numbers
System.out.println("Dividing...");
System.out.println("
i / j = " + (i / j));
System.out.println("
x / y = " + (x / y));
i % j = " + (i % j));
System.out.println("
x % y = " + (x % y));
//mixing types
System.out.println("Mixing types...");
System.out.println("
j + y = " + (j + y));
System.out.println("
i * x = " + (i * x));
}
}
Kt qu ca chng trnh:
Variable values...
i = 37
y = 7.22
Adding...
j = 42
i + j = 79
x = 27.475
x + y = 34.695
Trang 31
i / j = 0
i - j = -5
x / y = 3.8054
x - y = 20.255
Multiplying...
x % y = 5.815
i * j = 1554
Mixing types...
x * y = 198.37
j + y = 49.22
Dividing...
i * x = 1016.58
ngha
V d
==
Bng
a == 10;
!=
Khng bng
a != b
<
B hn
5 < 6
>
Ln hn
7 > 4
<=
B hn hoc bng
a <= 6
>=
Ln hn hoc bng
b >= 8
IX.4.Ton t lun l
Cc biu thc m c kt qu tr v l gi tr boolean, c th kt hp li vi nhau bng cc
ton t lun l nh AND ( & hoc &&), OR ( | hoc ||), XOR ( ^), NOT (!)...
Ton t
ngha
&
Hoc
Hoc loi tr
<<
>>>
o bit
>>=
<<=
>>>=
x &=y
x=x&y
x|=y
x= x|y
x^=y
x=x^y
IX.6.Ton t gn
Ton t gn c dng nh sau:
Variable
Operator = Value.
iu ny tng ng vi:
Variable = Variable Operator Value;
V d : a + = 4; tng ng vi a = a + 4;
Ton t
Cch dng
+=
op1 += op2
-=
op1 -= op2
*=
op1 *= op2
/=
op1 /= op2
%=
op1 %= op2
&=
|=
op1 |= op2
^=
op1 ^= op2
<<=
>>=
>>>=
Cch dng
?:
[]
type []
M t
Nu op1 true th tr v op2. Ngc li th tr
v op3.
Khai bo m mng cha bit ln, cha cc
Trang 33
type[ op1 ]
[]
op1[ op2 ]
op1.op2
()
op1(params)
(type)
(type) op1
new
new op1
instanceof
Trang 34
IX.10.Biu thc
Biu thc l s kt ni cc bin, cc t kha hay cc k hiu tr v mt gi tr ca mt
kiu no . Gi tr ny c th l s, chui, hoc kiu d liu khc. Bn c th hiu rng mt
biu thc l mt ci g dc vit bn phi ca mt lnh gn.
Biu thc n gin nht l cc bin hay cc hng
V d: 22, a, "Hello"
Cc biu thc ny c th c tm thy bn phi ca mt lnh gn nh gn mt chui
"Hello" cho mt bin s:
s = "Hello";
Nh trong C, vic gn mt gi tr cho chnh n, l gi tr bn phi ca lnh gn
V d:
b = a = 25;
Trong v d ny gi tr 25 c gn cho bin a v 25 cng c gn cho bin b
C cc loi biu thc nh biu thc logic, biu thc s hc, biu thc gn
V d : a <= 10;
- Biu thc gn: Variable1= Variable2=...=Value;
- Biu thc iu kin :
Expression ? Expression_when_true : Expression_when_false;
Trang 35
S khi:
false
Expression
true
Statement(s)2
Statement(s)1
V d:
public class IfElseDemo {
public static void main(String[] args) {
int testscore = 76;
char grade;
if (testscore >= 90) {
grade = 'A';
} else if (testscore >= 80) {
grade = 'B';
} else if (testscore >= 70) {
grade = 'C';
} else if (testscore >= 60) {
grade = 'D';
} else {
grade = 'F';
}
System.out.println("Grade = " + grade);
}
}
Kt qu chng trnh l:
Grade = C
Expression phi l biu thc logic tr v gi tr kiu boolean ( true hoc false). Tng t
nh C v C++ cc cu lnh iu kin c th lng nhau ty .
Trang 36
Expression : Biu thc iu kin ph thuc vo kiu d liu c bn (byte, int ...)
S khi:
true
case a
case a action(s)
break
case b action(s)
break
case z action(s)
break
false
true
case b
false
.
.
.
true
case z
false
default action(s)
V d:
public class SwitchDemo {
public static void main(String[] args) {
int month = 2;
int year = 2000;
int numDays = 0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
numDays = 31;
break;
Trang 37
Kt qu ca chng trnh:
Number of Days = 29
X.2.Cu trc lp
X.2.1.Vng lp for
C php:
for ( initialization; loopContinuationTest; increment ) {
Statements;
}
S khi:
initialization
Statement(s)
loopContinuationTest
true
increment
Trang 38
false
V d:
public class ForDemo {
public static void main(String[] args) {
int[] arrayOfInts = { 32, 87, 3, 589, 12,
1076, 2000, 8, 622, 127 };
for (int i = 0; i < arrayOfInts.length; i++) {
System.out.print(arrayOfInts[i] + " ");
}
System.out.println();
}
}
S khi:
Condition
true
statement(s)
flase
V d:
public class WhileDemo {
public static void main(String[] args) {
String copyFromMe = "Copy this string until you " +
"encounter the letter 'g'.";
StringBuffer copyToMe = new StringBuffer();
int i = 0;
Trang 39
action(s)
S khi:
Condition
true
flase
V d:
public class DoWhileDemo {
public static void main(String[] args) {
String copyFromMe = "Copy this string until you " +
"encounter the letter 'g'.";
StringBuffer copyToMe = new StringBuffer();
int i = 0;
char c = copyFromMe.charAt(i);
do {
copyToMe.append(c);
c = copyFromMe.charAt(++i);
} while (c != 'g');
System.out.println(copyToMe);
}
}
Trang 40
Trang 42
APPLETS
I.i cng v HTML
"Ngn ng nh du siu vn bn" (Hypertext Markup Language - HTML) c dng
khi to cc "siu vn bn" trn WEB. N khng phi l mt ngn ng lp trnh phc tp nh
C, C++, Java... Ngn ng HTML ch mt tp hp nhng quy tc ch nh bi nhng TAGS
(Th) v MARK (nh du) trn nhng thnh phn ca ti liu.
Mt ti liu HTML ch l nhng vn bn thng thng, bng nhng quy tc n gin ta c
th a vo nhng hnh nh, nhng "siu lin kt", "siu phng tin"... Ngoi ra ta c th b
sung nhng hnh nh, m thanh sng ng ...vo cc trang Web ca mnh bng cch tng cng
Java. chnh l cc APPLETS.
II.1. V d v Applet
Sau y l m ngun ca mt applet gi l Simple
import java.applet.Applet;
import java.awt.Graphics;
public class Simple extends Applet {
StringBuffer buffer;
public void init() {
Trang 43
II.2.Vng i ca mt Applet
C th s dng v d trn minh ho cho vng i ca mt applet
II.2.1.Np mt Applet
Bn c th thy "initializing... starting..." trn, l kt qu tr v khi mt applet ang
np. Khi mt applet np s xy ra cc vic sau:
Trang 44
hot li phng thc start(). Qu trnh ny cng xy ra khi ngi dng thay i ca s cha
applet (minaturize, minimize, v close.)
Ch : Mt vi trnh duyt c th s np li applet khi ta tr li trang cha applet nh
th c th xy ra mt li nu mt applet t khi to m khng cn np li.
II.2.5.Tm tt
Mt applet c th tri qua cc s kin sau:
N c th t khi to (initialize).
N c th t ng khi ng (start).
N c th t dng (stop) .
S :
Trang 45
Creation
Destruction
Initialization
Start/Restart
Stop
II.3.1.init()
Dng khi to mt ln, nhng hot ng khng ko di. Phng thc ny thng cha
cc m lnh m ta thng dng trong cc constructor.
II.3.2.start()
Applet sau khi khi to cn lm cng vic g th phi ci t phng thc start(), tr
khi phi tr li trc tip tc ng ca ngi dng. Phng thc ny c th thc hin mt s
vic ca applet hay khi to cc tuyn on.
II.3.3.stop()
a s cc applet khi ci phng thc start() u c ci stop(). Phng thc ny dng
tm ngng cc hot ng ca applet nhng khng gii phng ti nguyn h thng.
II.3.4.destroy()
Phng thc ny thng dng gii phng ti nguyn h thng.
Trang 46
hiu qu v.
Applet tha hng cc phng thc ny t lp AWT. Applet cn tha hng cc phng
thc v s kin nh nhp chut, r chut,... trong lp Component ca AWT.
Buttons (java.awt.Button)
Checkboxes (java.awt.Checkbox)
Labels (java.awt.Label)
Lists (java.awt.List)
Choices (java.awt.Choice)
Trang 48
Xem li phng thc init to ra mt text field khng edit c. N thit lp trnh qun l
cch trnh by vo applet lm cho text field c th rng ra c sau t text field vo applet
Sau cng phng thc init gi mt phng thc hp l (phng thc m Applet tha
hng t Component). iu ny lm cho c hiu lc i vi mt hoc nhiu thnh phn thm
vo applet v bo m rng cc thnh phn ny t v ra trn mn hnh.
Sau y l kt qu ca applet:
initializing... starting...
II.6.Gii hn ca Applet
Mc ny cho thy mt cch tng quan v mt hn ch ca applet v cc kh nng m chng
c th co c.
II.6.1.Gii hn v bo mt
Tt c cc trnh duyt c ci t ch bo mt u gi n li trong h thng bo mt. Mc
ny m t ch bo mt m cc trnh duyt hin thi km vo. Tuy nhin vic ci t c ch
bo mt gia cc trnh duyt l khc nhau. Ngoi ra c ch bo mt thng thay i. Th d
nh nu mt trnh duyt c pht trin ch s dng trong mi trng tin cy th c ch bo
mt c th lng lo hn nhng m t y.
Cc trnh duyt hin thi thng gii hn hot ng ca applet khi np cc applet t mng
v nh sau:
Trang 49
Khi applet chy trong trnh duyt th c th dng ti liu HTML hin th.
Applet c th gi ti mt phng thc cng cng ca mt applet khc trong cng trang
Web.
Hu ht cc applet ngng thc thi khi ri khi trang web cha n, nhng khng nht
thit nh vy.
II.7.Test mt applet
Mt khi vit vi on m cho applet ca bn, bn s mun chy applet kim tra n.
chy applet trc ht bn phi t applet vo trong mt trang HTML bng cch s dng th
(tag) <APPLET>. Sau nh a ch URL ca trang HTML trong mt trnh duyt c h tr
Java.
y l mt th <APPLET> n gin:
<APPLET CODE=AppletSubclass.class WIDTH=anInt
HEIGHT=anInt>
</APPLET>
Trang 50
Th ny cho trnh duyt bit cn np mt applet c tn l AppletSubclass. Hnh sau cho thy
ni t file applet, quan h vi ti liu HTML cha th <APPLET>. Nh hnh v th tr khi
applet c t trong mt gi (package), applet phi t trong cng th mc vi tp HTML
cha th <APPLET>.
To m thanh.
Trang 52
to ra nu cn thit.
"_self": Hin th ti liu trong ca s v frame cha applet.
"_parent": Hin th ti liu trong ca s applet nhng trong frame cha ca frame applet.
Nhiu trnh duyt i hi cc applet phi cng th mc trn cng mt server (cng code
base)
Java API i hi cc applet phi chy trn cng mt trang, trong cng ca s trnh
duyt.
Trang 54
phng thc getApplets ca AppletContext). C hai phng thc nu thnh cng s cho
applet gi mt hay nhiu i tng Applet. Mt khi applet gi tm c mt i tng Applet
th n c th gi cc phng thc trn i tng .
Di y l hai applet minh ho cho vic tm bng tn. Applet u tin l Sender tm applet
th hai l Rciver, Sender gi mt thng ip ti Reciever bng cch gi cc phng thc ca
Reciever. Reciever p ng li "Received message from sender-name!"
Trang 55
Trang 56
+ newline);
//Cast the receiver to be a Receiver object
//(instead of just an Applet object) so that the
//compiler will let us call a Receiver method.
((Receiver)receiver).processRequestFrom(myName);
}
} else {
status.append("Couldn't find any applet named "
+ receiverName + "." + newline);
}
Trang 57
Trang 58
Trang 59
(Nhng tham s )
Alternate-HTML
</APPLET>
Trang 60
M t
CODE
Xc nh tn tp tin applet
HEIGHT
WIDTH
M t
ALIGN
ALT
Xc nh vn bn thay th
CODEBASE
HSPACE
NAME
VSPACE
Khi ngi s dng nhp vo vn bn v click chut vo nt 'Check identifier' applet phi
kim tra xem t c trong vn bn c phi l mt t kho c trong java khng.
Ghi ch: S dng cc font ch khc nhau cho vn bn, nt lnh v nhn.
2. Vit applet nh sau:
Ngi s dng c php nhp vo gi tr mu trong cc tng ng. Khi click nt 'Draw'
cc biu dng ng, bar, pie c hin ra.
Trang 62
Trang 63
Trang 65
III.Cc gi
Gi c coi nh cc th mc, l ni bn t chc cc lp v cc giao din ca bn.
Cc chng trnh Java c t chc nh nhng tp ca cc gi. Mi gi gm c nhiu lp,
v/hoc cc giao din c coi nh l cc thnh vin ca n. l mt phng n thun li
lu tr cc nhm ca nhng lp c lin quan vi nhau di mt ci tn c th. Khi bn ang
lm vic vi mt chng trnh ng dng, bn to ra mt s lp. Cc lp cn c t chc
mt cch hp l. iu tr nn d dng khi ta t chc cc tp tin lp thnh cc gi khc nhau.
Hy tng tng rng mi gi ging nh mt th mc con. Tt c cc iu m bn cn lm l
t cc lp v cc giao din c lin quan vi nhau vo cc th mc ring, vi mt ci tn phn
nh c mc ch ca cc lp.
Ni tm li, cc gi c ch cho cc mc ch sau:
Chng cho php bn t chc cc lp thnh cc n v nh hn (nh l cc th mc), v lm
cho vic xc nh v tr tr nn d dng v s dng cc tp tin ca lp mt cch ph hp.
Gip trnh cho vic t tn b xung t (trng lp tn). Khi bn lm vic vi mt s
cc lp bn s cm thy kh quyt nh t tn cho cc lp v cc phng thc. i lc
bn mun s dng tn ging nhau m tn lin quan n lp khc. Cc gi giu cc lp
trnh vic t tn b xung t.
Cc gi cho php bn bo v cc lp, d liu v phng thc mc rng hn trn mt nn
tng class-to-class.
Cc tn ca gi c th c s dng nhn dng cc lp.
Cc gi cng c th cha cc gi khc.
to ra mt lp l thnh vin ca gi, bn cn bt u m ngun ca bn vi mt khai bo
gi, nh sau:
package mypackage;
Hy ghi nh cc im sau trong khi to gi:
Trang 66
Gi
M t
Trang 67
java.io
java.applet
java.awt
java.util
java.net
III.1.To mt gi
Gi l mt phng thc hu dng nhm cc lp m trnh c cc tn trng nhau.
Cc lp vi nhng tn ging nhau c th t vo cc gi khc nhau. Cc lp c nh ngha
bi ngi s dng cng c th c nhm li trong cc gi.
Cc bc sau y cho php to nn mt gi do ngi dng nh ngha:
Khai bo gi bng cch s dng c php thch hp. on m phi bt u vi khai bo gi.
iu ny ch ra rng lp c nh ngha trong tp tin l mt phn ca gi xc nh.
package mypackage;
S dng pht biu import nhp cc gi chun theo yu cu.
import java.util.*;
Trang 68
var = n;
//cc phng thc
//
public class Display //nh ngha mt lp
{
//Cc phng thc
}
}
}
Lu cc nh ngha trn trong mt tp tin vi phn m rng .java, v dch cc lp c nh
ngha trong gi. Vic dch c th thc hin vi tham s -d. Chc nng ny to mt th
mc trng vi tn gi, v t tp tin .class vo th mc c ch r.
javac d d:\temp Calculate.java
Nu khai bo gi khng c trong chng trnh, lp hoc giao din s nm trong gi
mc nh m khng c tn. Ni chung, gi mc nh ny th ch c ngha cho cc ng dng nh
hoc tm thi.
Hy ghi nh cc im sau y khi bn khai thc cc gi do ngi dng nh ngha
trong cc chng trnh khc:
Trang 69
protected
No modifier
private
Cng lp
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Cng gi-khng
tha k (non-
Yes
Yes
Yes
No
Trang 72
Yes
Yes
No
No
Yes
No
No
No
IV.1. Gi java.lang
Mc nh, mi chng trnh java u nhp gi java.lang. V th, khng cn lnh nhp
gi java.lang ny trong chng trnh.
Lp trnh bao bc
boolean
Boolean
byte
Byte
char
Character
double
Double
float
Float
int
Integer
long
Long
short
Short
Trang 73
Trang 75
day
Weekday
1
2
3
4
N
Sunday
Monday
Hello
Aptech
World
Trang 76
Trang 77
Spaces
);
System.out.println(space);
System.out.println(space.trim()); //Sau khi ct b khong trng
equals()
Phng thc ny so snh ni dung ca hai i tng chui.
String name1 = Aptech, name2 = APTECH;
boolean flag = name1.equals(name2);
Bin flag cha gi tr false.
IV.1.4.Lp StringBuffer
Lp StringBuffer cung cp cc phng thc khc nhau thao tc mt i tng dng
chui. Cc i tng ca lp ny rt mm do, l cc k t v cc chui c th c chn
vo gia i tng StringBuffer, hoc ni thm d liu vo ti v tr cui. Lp ny cung cp
nhiu phng thc khi to. Chng trnh sau minh ho cch s dng cc phng thc khi
to khc nhau to ra cc i tng ca lp ny.
Chng trnh 4.6
class StringBufferCons
{
public static void main(String args[])
{
StringBuffer s1 = new StringBuffer();
StringBuffer s2 = new StringBuffer(20);
Trang 78
System.out.println(s3 = + s3);
System.out.println(s2.length()); //cha 0
System.out.println(s3.length()); //cha 12
System.out.println(s1.capacity()); //cha 16
System.out.println(s2.capacity()); //cha 20
System.out.println(s3.capacity()); //cha 28
}
}
length() v capacity() ca StringBuffer l hai phng thc hon ton khc nhau. Phng
thc length() cp n s cc k t m i tng thc cha, trong khi capacity() tr v
tng dung lng ca mt i tng (mc nh l 16) v s k t trong i tng StringBuffer.
Dung lng ca StringBuffer c th thay i vi phng thc ensureCapacity(). i
s int c truyn n phng thc ny, v dung lng mi c tnh ton nh sau:
NewCapacity = OldCapacity * 2 + 2
Trc khi dung lng ca StringBuffer c t li, iu kin sau s c kim tra:
Nu dung lng(NewCapacity) mi ln hn i s c truyn cho phng thc
ensureCapacity(), th dung lng mi (NewCapacity) c t.
Nu dung lng mi nh hn i s c truyn cho phng thc ensureCapacity(), th
dung lng c t bng gi tr tham s truyn vo.
Chng trnh 4.7 minh ho dung lng c tnh ton v c t nh th no.
Chng trnh 4.7
class test{
public static void main(String args[]){
StringBuffer s1 = new StringBuffer(5);
System.out.println(Dung lng ca b nh m = +s1.capacity()); //cha 5
Trang 79
Trang 80
//cha G
setCharAt()
Phng thc ny c s dng thay th k t trong mt StringBuffer bng mt k t
khc ti mt v tr c ch nh.
StringBuffer name = new StringBuffer(Jawa);
name.setCharAt(2,v);
Bin name cha Java.
setLength()
Phng thc ny thit lp chiu di ca i tng StringBuffer. Nu chiu di c ch
nh nh hn chiu di d liu hin ti ca n, th cc k t tha s b ct bt. Nu chiu di ch
nh nhiu hn chiu di d liu th cc k t null c thm vo phn cui ca StringBuffer
StringBuffer str = new StringBuffer(10);
str.setLength(str.length() +10);
getChars()
Phng thc ny c s dng trch ra cc k t t i tng StringBuffer, v sao
chp chng vo mt mng. Phng thc getChars() c bn tham s sau:
Ch s u: v tr bt u, t ni m k t c ly ra.
Ch s kt thc: v tr kt thc
Trang 81
V d:
StringBuffer str = new StringBuffer(Leopard);
char ch[] = new char[10];
str.getChars(3,6,ch,0);
By gi bin ch cha par
reverse()
Phng thc ny o ngc ni dung ca mt i tng StringBuffer, v tr v mt i
tng StringBuffer khc. V d:
StringBuffer str = new StringBuffer(devil);
StringBuffer strrev = str.reverse();
Bin strrev cha lived.
IV.1.5.Lp java.lang.Math
Lp ny cha cc phng thc tnh (static) thc hin cc thao tc ton hc. Chng
c m t nh sau:
C php l Math.<tn hm>
abs()
Phng thc ny tr v gi tr tuyt i ca mt s. i s c truyn n n c th l
kiu int, float, double, hoc long. Kiu d kiu byte v short c chuyn thnh kiu int nu
chng c truyn ti nh l mt i s. V d:
int num = -1;
Math.abs(num) //tr v 1.
ceil()
Phng thc ny tm thy s nguyn nh nht ln hn hoc bng i s c truyn
vo.
floor()
Phng thc ny tr v s nguyn ln nht nh hn hoc bng i s c truyn vo.
Trang 82
Trang 83
Phng
thc
exit(int)
ngha
getRuntime(
gc()
totalMemory
freeMemory
()
)
()
Trang 84
Exec(String)
IV.1.7.Lp System
Lp System cung cp cc tin chi nh l, dng vo, dng ra chun v dng li. N
cng cung cp phng thc truy cp cc thuc tnh lin quan n h thng Runtime ca
Java, v cc thuc tnh mi trng khc nhau nh l, phin bn (version), ng dn, hay cc
dch v, v.v..Cc trng ca lp ny l in, out, v err, cc trng ny tiu biu cho dng vo,
ra v li chun tng ng.
Bng sau m t cc phng thc ca lp ny:
Phng thc
exit(int)
gc()
getProperties()
Mc ch
Dng vic thc thi, v tr v gi tr ca
on m. 0 cho bit c th thot ra mt cch
bnh thng.
Gi b phn thu thp rc.
Tr v thuc tnh ca h thng thi gian
chy Java.
Trang 85
setProperties()
currentTimeMillis()
arrayCopy(Object,
int, Object, int, int)
IV.1.8.Lp Class
Cc th hin ca lp ny cha trng thi thi gian thc hin ca mt i tng trong
ng dng Java ang chy. iu ny cho php chng ta truy cp thng tin v i tng trong
thi gian chy.
Chng ta c th ly mt i tng ca lp ny, hoc mt th hin bng mt trong ba
cch sau:
S dng phng thc getClass() ca i tng.
S dng phng thc tnh forName() ca lp ly mt th hin ca lp thng qua tn ca
lp .
S dng mt i tng ClassLoader np mt lp mi.
Lp Class khng c phng thc xy dng (constructor).
Cc chng trnh sau minh ho cch s dng phng thc ca mt lp truy cp
thng tin ca lp :
Chng trnh 4.10
interface A
{
final int id = 1;
final String name = Diana;
}
Trang 87
IV.1.9.Lp Object
Lp Object l mt lp cha ca tt c cc lp. D l mt lp do ngi dng nh ngha
khng tha k li bt k mt lp no khc, theo mc nh n tha k lp Object.
Trang 88
Phng
thc
equals(Obje
ct)
finalize()
notify()
notifyAll()
toString()
wait()
Mc ch
So snh i tng hin ti vi i tng khc.
Phng thc cui cng. Thng thng b nh ngha
lp con.
Thng bo cho Thread (lung) m hin thi trong trng
thi ang ch.
Thng bo tt c cc Thread (lung) hin hnh trong
trng thi ch.
Tr v mt chui i din cho i tng.
a Thread (lung) vo trng thi ch.
Bng 4.6 Lp Object.
Trong chng trnh sau, chng ta khng khai bo bt k lp hoc gi no. By gi,
chng ta c th to bng cch s dng phng thc equals(). Bi v, theo mc nh lp
ObjectDemo m rng lp Object.
IV.2. Gi java.util
Gi Java.util cung cp mt s lp tin ch Java, thng xuyn trong tt c cc loi
chng trnh ng dng. N bao gm mt s lp sau:
Hashtable
Trang 89
Constructor
Hashtable(int)
Hashtable(int,
float)
Hashtable()
Purpose
Xy dng mt bng mi vi dung lng
ban u c ch nh.
Xy dng mt lp mi vi dung lng ban
u c ch nh v yu t np.
Xy dng mt lp mi bng cch s dng
gi tr mc nh cho dung lng ban u v
yu t np.
Trang 90
Phng thc
clear()
clone()
contains(Object)
containsKey(Objec
Mc ch
Xo tt c cc phn t t bng bm.
To mt bn sao ca Hashtable.
Tr v True nu bng bm cha cc i tng c
ch nh.
Tr v True nu bng bm cha kho c ch nh.
t)
elements()
get(Object key)
isEmpty()
keys()
put(Object, Object)
rehash()
remove(Object
key)
size()
toString()
IV.2.2.Lp random
Lp ny l mt b to s gi ngu nhin (pseudo-random). C hai phng thc xy
dng c nh ngha. Mt trong nhng phng thc xy dng ny ly gi tr khi u (seed)
nh mt tham s. Phng thc xy dng khc khng c tham s, v s dng thi gian hin ti
nh mt gi tr khi u. Vic xy dng mt b to s ngu nhin vi mt gi tr khi u l
mt tng hay, tr khi bn mun b to s ngu nhin lun to ra mt tp cc gi tr ging
nhau. Mt khc, thnh thong n rt hu ch to ra trnh t ging nhau ca cc s random.
iu ny c ngha trong vic g ri chng trnh. Mt khi b to s ngu nhin c to ra,
bn c th s dng bt k cc phng thc sau y cp mt gi tr t n:
nextDouble()
nextFloat()
nextGaussian()
nextInt()
nextLong()
Cc phng thc xy dng v cc phng thc ca lp Random c tm tt trong bng sau:
Phng thc
Mc ch
random()
to ra mt b to s ngu nhin mi
random(long)
To ra mt b to s ngu nhin mi da trn gi tr khi to c
ch nh.
nextDouble()
Tr v mt gi tr kiu double k tip gia 0.0 n 1.0 t b to s
Trang 93
nextFloat()
nextGaussian()
nextInt()
nextLong()
setSeed(long)
ngu nhin.
Tr v mt gi tr kiu float k tip gia 0.0F v 1.0F t b to s
ngu nhin.
Tr v gi tr kiu double c phn phi Gaussian k tip t b to
s ngu nhin. To ra cc gi tr Gaussian s c mt gi tr trung bnh
ca 0, v mt lch tiu chun ca 1.0.
Tr v gi tr kiu Integer k tip t mt b to s ngu nhin.
Tr v gi tr kiu long k tip t mt b to s ngu nhin.
Thit lp gi tr khi to t b to s ngu nhin.
Bng 4.9 Cc phng thc lp Random.
IV.2.3.Lp Vector
Mt trong cc vn vi mt mng l chng ta phi bit n ln nh th no khi chng
ta to n. Trong thc t c nhiu trng hp khng th xc nh kch thc ca mng trc khi
to n.
Lp Vector ca Java gii quyt vn ny. N cung cp mt dng mng vi kch thc
ban u, mng ny c th tng thm khi nhiu phn t c thm vo. Mt lp Vector lu tr
cc mc l kiu Object, n c th dng lu tr cc th hin ca bt k lp Java no. Mt lp
Vector c th lu tr cc phn t khc nhau, cc phn t khc nhau ny l th hin ca cc lp
khc nhau.
Ti bt k thi im, mt lp Vector c dung lng lu tr mt s lng no cc
phn t. Khi mt lp Vector dng ht dung lng ca n, th dung lng ca n c gia tng
bi mt s lng ring cho Vector . Lp Vector cung cp ba phng thc xy dng khc
nhau m c th chng ta ch nh dung lng khi to, v tng s lng ca mt Vector, khi n
c to ra. Cc phng thc xy dng ny c tm tt trong bng sau:
Mc ch
To ra mt lp Vector mi vi dung lng ban
u c ch nh.
To ra mt lp Vector mi vi dung lng ban
u c ch nh, v lng tng.
To ra mt lp Vector mi vi dung lng
khi to mc nh, v lng tng mc nh.
Trang 94
Phng thc
addElement(Object)
capacity()
clone()
contains(Object)
copyInto(Object [])
elementAt(int)
elements()
ensureCapacity(int)
firstElement()
indexOf(Object)
indexOf(Object, int)
insertElementAt(Object,
int)
isEmpty()
lastElement()
lastIndexOf(Object)
lastIndexOf(Object, int)
removeAllElements()
removeElement(Object)
removeElementAt(int)
setElementAt(Object,
int)
setSize(int)
Size()
toString()
Mc ch
Thm phn t c ch nh vo lp Vector.
Tr v dung lng hin thi ca lp Vector.
sao chp lp vector, nhng khng phi l cc phn t ca n.
Tr v True nu lp Vector cha i tng c ch nh.
Sao chp cc phn t ca lp Vector vo mng c ch nh.
Ly phn t v tr c ch nh.
Tr v mt bng lit k ca cc phn t trong lp Vector.
m bo rng lp Vector c th lu tr t nht dung lng ti
thiu c ch nh.
Tr v phn t u tin trong lp Vector.
Tm kim lp Vector, v tr v ch mc u tin tm thy i
tng.
Tm kim lp Vector bt u t v tr ch nh, tr v v tr u
tin tm thy.
Chn i tng c ch nh ti v tr c ch nh.
Tr v True nu lp Vector khng c phn t.
Tr v phn t cui cng trong lp Vector.
Tm kim lp Vector, v tr v ch mc ca i tng tm thy
cui cng.
Tm kim lp Vector bt u ti s ch mc c ch nh, v
tr v ch mc ca phn t cui cng tm thy.
Xo tt c cc phn t t lp Vector.
Xo i tng c ch nh t lp Vector.
Xo i tng ti ch mc c ch nh.
Thay th i tng ti ch mc c ch nh vi i tng
c ch nh.
Thit lp kch thc ca lp Vector thnh kch thc mi
c ch nh.
Tr v s ca cc phn t hin thi trong lp Vector.
Tr v mt chui cha ni dung ca lp Vector.
Trang 95
trimToSize()
Trang 96
IV.2.4.Lp StringTokenizer
Mt lp StringTokenizer c th s dng tch mt chui thnh cc phn t (token)
nh hn. V d, mi t trong mt cu c th coi nh l mt token. Tuy nhin, lp
StringTokenizer i xa hn vic phn tch cc t trong cu. tch ra cc thnh token ta c
th tu bin ch ra mt tp du phn cch cc token khi khi to i tng StringTokenizer.
Nu ta khng ch ra tp du phn cch th mc nh l du trng (space, tab, ...). Ta cng c th
s dng tp cc ton t ton hc (+, *, /, v -) trong khi phn tch mt biu thc.
Bng sau tm tt 3 phng thc xy dng ca lp StringTokenizer:
ngha
To ra mt i tng StringTokenizer
mi da trn chui c ch nh.
Trang 97
StringTokenizer(String, Strng)
To ra mt i tng StringTokenizer
mi da trn (String, String) chui c
ch nh v mt tp cc du phn cch.
StringTokenizer(String, String,
To ra mt i tng StringTokenizer
boolean)
da trn chui c ch nh, mt tp cc
du phn cch, v mt c hiu cho bit
nu cc du phn cch s c tr v nh
cc token hay khng.
Bng 4.12 Cc phng thc xy dng ca lp StringTokenizer.
Cc phng thc xy dng trn c s dng trong cc v d sau:
StringTokenizer st1 = new StringTokenizer(A Stream of words);
StringTokenizer st2 = new StringTokenizer(4*3/2-1+4, +-*/, true);
StringTokenizer st3 = new StringTokenizer(aaa,bbbb,ccc, ,);
Trong cu lnh u tin, StringTokenizer ca st1 s c xy dng bng cch s
dng cc chui c cung cp v du phn cch mc nh. Du phn cch mc nh l khong
trng, tab, cc k t xung dng. Cc du phn cch ny th ch s dng khi phn tch vn bn,
nh vi st1.
Cu lnh th hai trong v d trn xy dng mt i tng StringTokenizer cho cc biu
thc ton hc bng cch s dng cc k hiu *, +, /, v -.
Cu lnh th 3, StringTokenizer ca st3 s dng du phy nh mt du phn cch.
Lp StringTokenizer ci t giao din Enumeration. V th, n bao gm cc phng
thc hasMoreElements() v nextElement(). Cc phng thc
c th s dng ca lp
Phng thc
countTokens()
hasMoreElements()
hasMoreTokens()
nextElement()
Mc ch
Tr v s cc token cn li.
Tr v True nu cn c token ang
c nh du trong chui. N th
ging ht nh hasMoreTokens.
Tr v True nu cn c token ang
c nh du trong chui. N ging
ht nh hasMoreElements.
Tr v token k tip trong chui. N
th ging nh nextToken.
Trang 98
nextToken()
nextToken(String)
Trang 99
Joy
Jack
Tina
34543
56765
34567
Trang 101
Phn 3:
Lp trnh Socket
CHNG 1:
Trang 103
Trang 104
Trang 105
Lp ExchangeRateTable
Lp ExchangeThread
y l mt phn tuyn chy song song vi chng trnh chu trch nhim mi giy s
gi yu cu n my ch v ly s liu v cp nht.
Lp ExchangeData
Trang 107
Phn 4:
CHNG 1:
Trang 109
Web
Browser
Trnh din
dch JSP
Yu cu
Servlet tm
Kt xut
Trang
JSP
HTTP Service
chp
file
FirstPage.jsp
vo
th
mc
trnh
duyt
pha
my
khch
theo
ch
URL
nh
sau:
Trang 111
Cc c php c bn ca JSP
I.Cc i tng mc nh ca JSP
Trnh din dch JSp cho php bn s dng mt s i tng khai bo trc. iu ny s
gip bn vit m lnh trong trang JSP nhanh hn servlet.
i tng out: xut pht t lp PrintWriter. Bn c th s dng i tng ny
nh dng kt xut gi v my khch. V d:
<% out.println(Reusult +7*3); %>
i tng request: xut pht t lp HttpServletRequest, i tng ny gip bn ly
v cc tham s hay d liu do trnh khch chuyn ln.
i tng response: tng t i tng out, i tng response dng a kt
xut tr v trnh khch. Tuy nhin i tng out c dng thng xuyn hn
i tng session: xut pht t lp HttpSession, s dng i tng session theo
di kt ni v lu vt mt phin lm vic gia trnh khch v trnh ch.
Trang 113
Trang 114
Trang 115
Trang 118
[2]
[3]
[4]
[5]
[6]
www.java.sun.com
[7]
www.javavietnam.org
Trang 119