Tải bản đầy đủ (.pdf) (32 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.01 MB, 32 trang )

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


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 là c
lp phn cng và hu hành. ây là kh nng mt chng trình c vit ti mt máy
nhng có th chy c bt kâu
Trang 6
Tính c lp vi phn cng c hiu theo ngha mt chng trình Java nu chy
úng trên phn cng ca mt h máy nào ó thì nó cng chy úng trên tt c các h máy
khác. Mt chng trình ch chy úng trên mt s h máy c thc gi là ph thuc
vào phn cng.
Tính c lp vi hu hành c hiu theo ngha mt chng trình Java có th
chy c trên tt c các hu hành. Mt chng trình ch chy c trên mt s h
iu hành c gi là ph thuc vào hu hành.
Các chng trình vit bng java có th chy trên hu ht các h nn mà không cn
phi thay i gì, iu này ã c nhng ngi lp trình t cho nó mt khu hiu vit
mt ln, chy mi n, iu này là không th có vi các ngôn ng lp trình khác.
i vi các chng trình vit bng C, C++ hoc mt ngôn ng nào khác, trình biên
dch s chuyn tp lnh thành mã máy (machine code), hay lnh ca b vi x lý. Nhng
lnh này ph thuc vào CPU hin ti trên máy bn. Nên khi mun chy trên loi CPU
khác, chúng ta phi biên dch li chng trình.
4. Mnh m
Java là ngôn ng yêu cu cht ch v kiu d liu, vic ép kiu tng ba bãi ca

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

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, u này khin java chm chp i phn nào.
III. Các kiu ng dng Java
Vi Java ta có th xây dng các kiu ng dng sau:
1. ng dng Applets
Applet là chng trình Java c to ra  s dng trên Internet thông qua các trình
duyt h tr Java nh IE hay Netscape. Applet c nhúng bên trong trang Web. Khi
trang Web hin th trong trình duyt, Applet sc ti v và thc thi ti trình duyt.
2. ng dng dòng lnh (console)
Các chng trình này chy t du nhc lnh và không s dng giao din ha.
Các thông tin nhp xut c th hin ti du nhc lnh.
3. ng dng  ha
ây là các chng trình Java chy c lp cho phép ngi dùng tng tác qua giao
din  ha.
4. JSP/Servlet
Java thích hp  phát trin ng dng nhiu lp. Applet là chng trình  ha
chy trên trình duyt ti máy trm.  các ng dng Web, máy trm gi yêu cu ti máy
ch. Máy ch x lý và gi kt qu tr li máy trm. Các Java API chy trên máy ch chu
trách nhim x lý ti máy ch và tr li các yêu cu ca máy trm. Các Java API chy trên
máy ch này m rng kh nng ca các ng dng Java API chun. Các ng dng trên máy
ch này c gi là các JSP/Servlet. hoc Applet ti máy ch. X lý Form ca HTML là
cách s dng n gin nht ca JSP/Servlet. Chúng còn có thc dùng  x lý d liu,
thc thi các giao dch và thng c thc thi thông qua máy ch Web.
5. ng dng c s d liu
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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.

Thanh ghi này tr ti lnh ang thc hin. Khi cn thit, có th thay i ni dung thanh
ghi i hng thc thi ca chng trình. Trong trng hp thông thng thì tng lnh
mt ni tip nhau sc thc thi.
Mt khái nim thông dng khác trong Java là trình biên dch “Just In Time-JIT”. Các
trình duyt thông dng nh Netscape hay IE u có JIT bên trong  tng tc  thc thi
chng trình Java. Mc ích chính ca JIT là chuyn tp lnh bytecode thành mã máy c
th cho tng loi CPU. Các lnh này sc lu tr và s dng mi khi gi n.
Trang 9
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
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

finally phn cui ca khi x lý ngoi l
float
kiu s thc
for
Câu lnh lp
goto
Cha c dùng
if
Câu lnh la chn
implements
ch rng mt lp trin khai t mt giao din
import
Khai báo s dng th vin
instanceof
kim tra mt i tng có phi là mt th hin ca lp hay không
interface
s dng  khai báo giao din
long
kiu s nguyên
native
Khai báo phng thc c vit bng ngông ng biên dch C++
new
to mt i tng mi
Trang 10
null mt i tng không tn ti
package
Dùng  khai báo mt gói
private
c t truy xut
protected

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)

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
Quy c v t tên trong java
Ta nên t tên bin, hng, lp, phng thc sao cho ngha ca chúng rõ ràng, d hiu,
khoa hc và mang tính c l quc t. Do java có phân bit ch hoa, ch thng nên ta
phi cn thn và chú ý.
Sau ây là quy c t tên trong java (chú ý ây ch là quy c do vy không bt buc
phi tuân theo quy c này):
- i vi bin và phng thc thì tên bao gi cng bt u bng ký t thng, nu tên
có nhiu t thì ghép li thì: ghép tt c các t thành mt, ghi tu tiên ch thng,
vit hoa kí tu tiên ca mi t theo sau trong tên, ví d area, radius, readInteger…
-i vi tên lp, giao din ta vit hoa các kí tu tiên ca mi t trong tên, ví d lp
WhileTest, Circle
- Tên hng bao gi cng vit hoa, nu tên gm nhiu t thì chúng c ni vi hau bi
kí t ghch di ‘_’, ví d PI, MAX_VALUE
IV. Cu trúc mt chng trình java
- Mi ng dng Java bao gm mt hoc nhiu n v biên dch (mi n v biên dch
là mt tp tin có phn m rng Java)
- Mi n v biên dch bao gm mt hoc nhiu lp
Trang 11
- Mi ng dng c lp phi có duy nht mt phng thc main (m bt u ca ng

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
{

}

class lp2
{

}
t n v biên dch là mt tp
tin .java
Trang 12
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
methodname - Tên ca phng thc
parameter_list – Các tham sc ca phng thc
- Bn còn có thnh ngha mt lp bên trong mt lp khác. ây là lp xp lng nhau,
các th hin (instance) ca lp này tn ti bên trong th hin ca mt lp che ph chúng.
Nó chi phi vic truy nhp n các thành phn ca lp bao ph chúng. Có hai loi lp
trong ó là lp trong tnh “static” và lp trong không tnh “non static”
+ Lp trong tnh (static)
Lp trong tnh c nh ngha vi t khoá “static”. Lp trong tnh có th truy nhp
vào các thành phn tnh ca lp ph nó.
+ Lp trong không tnh (non static)

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:

+classpath=.;C:\jdk1.4\lib\tools.jar;C:\jdk1.4\lib\dt.jar;C:\jdk1.4\jre\lib\rt.jar
+ path=…;c:\jdk1.4\bin
Khi ng li máy  thy c tác dng ca các bin môi trng này
Ví du tiên: chng trình Hello World (chng trình khi chy s in ra màn hình li
chào Hello World)
Các bc:
Trang 14
- M mt chng trình son tho vn bn h tr asciii, nh notepad, wordpad,
EditPlus… và gõ vào các dòng sau:
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
Trong java ta có 3 cách  ghi chú thích
Cách 1: s dng cp /* và */ ý ngha ca cp chú thích này ging nh ca C, C++
Cách 2: s dng cp // ý ngha ca cp chú thích này ging nh ca C, C++

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

xác n
32 bit IEEE754 IEEE75
4
Float
double Double-precision
floating point
64 bit IEEE754 IEEE75
4
Double
(kiu khác)
char kiu kí t 16 bit Unicode 0 Unicode
2
16
-1
Character
boolean kiu logic true hoc false - - Boolean
void - - - - Void
c 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
(Interface)
Là mt lp thun tru tng c to ra cho phép cài t
a tha k trong Java.
c 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.

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

trên mt dòng, các bin này c phân cách nhau bi du phy
- Java s x lý các bin không c khi u giá tr nh sau:
+ i vi thuc tính (bin c khai báo trong phm vi ca lp) thì Java s tng
khi gán giá tr cho các bin theo quy tc sau:
+ giá tr 0 cho kiu d liu s
+ false cho kiu logic
+ kí t null (mã 0) cho kí t
+ giá tr null cho kiu i tng
+ i vi các bin cc b thì bin không c khi gán giá tr mc nh, tuy nhiên
Java s báo li nu ta s dng mt bin cha c nhn giá tr
2. Phm vi bin
Mi bin c khai báo ra có mt phm vi hot ng, phm vi ca bin là ni mà
bin có thc truy cp, u này xác nh c tính thy c và thi gian sng ca bin.
Bin tham chiu
i tng

×