Post on 09-Apr-2018
transcript
8/7/2019 Java co ban de doc
1/21
Bi 1. C bn v ngn ng JavaTrong qu trnh pht trin,ngnh lp trnh tri qua rt nhiu ngn ng lp trnh.t ccngn ng lp trnh s khi vi chui hnh ng(assembly) ri sau pht trin ln thnhcc ngn ng th tc v pht trin cu trc nh pascal ri C.nhng nhng hnch ca ccngn ng ny vn cn v dn n cc nh pht trin cn phi thay i cch nhn v lptrnh cng nh phi thay i ngn ng.do lp trnh hng i tng ra i.v cc ngn
ng hng i tng cng ra i.trong c java mt ngn ng lp trnh rt mnh v cth gii quyt nhng hn ch ca nhng ngn ng lp trnh trc.
1. Tp cc k t dung trong java
Cng nh cc ngn ng lp trnh C hay pascal.ngn ng java cng c xy dng trn b kt chun sau:
26 ch ci hoa : A,B,C, ,Z
26 ch ci thng : a,b,c, ,z
10 chs: 0,1,2,3,4,5,6,7,8,9
Cc k hiu ton hc : +,-,*,/
Cc k tgch ni : _
V cc k tkhc : (,),[,],{,},//,
Khong trng (space)
2. Cc tkha trong java
Tkha l nhng thnh thnh nn ngn ng java.java c mt th vin t kha rt ln
h tr ngi lp trnh mt cch tin dng nht.ch khng c t tn cc i tng haycc i lng trng vi cc t kha.
3. Ghi ch trong java
Cng nh cc ngn ng lp trnh khc.ghi ch rt cn trong lp trnh.n gip ngi lp trnhduy tr c lung t duy,hay c th gip chng trnh d hiu hn.java cung cp 3 cchghi ch sau:
// dng ch thch :ch dng ch thch trn mt dng.
/* on ch thch */ :dng ch thch trn nhiu dng.
/** on ghi ch */ : on vn l phn ghi ch cho javadoc
4. Cu trc mt chng trnh java.
Sau y chng ti s gii thiu n cc bn v cu trc mt chng trnh java qua mt vd n gin nht.
V d 1: HelloWord.java
8/7/2019 Java co ban de doc
2/21
import java.io.*;
public class HelloWord.java{
public static void main(String args[]){
System.out.print( HelloWord );
}
}
Kt qu:in ra mn hnh dng chHelloWord
Gii thch chng trnh:
Dng u tin: import java.io.*; y l cu lnh truy xut vo thvin xut nhp trongjava.java cung cp mt mt tp cc th vin rt ln tr gip cho ngi lp trnh.mi thvin s tr gip mt m khc nhau(chng ta s cng tm hiu k hn cc phn sau),dnglnh bt u bng t kha import y l t kha c nh truy xutvo cc th vin trongjava.tip theo java.io.* y l tn ca th vin.cui cng mi cu lnh trong java u cdu chm phy.
Dng th 2: public class HelloWord nh ti ni java l mt ngn ng hng i tngnn cc hm hay phng thc trong java u phi nm trong mt lp i tng k cchng trnh chnh.cu lnh trn l mt dng khai bo mt lp i tng mi lp i tngc gii hn trong 2 du ngoc { }.
o Class : t kha khai bo mt lp i tng
o HelloWord :tn lp i tng
Dng th 3: public static void main(String args[]) y l dng khai bo chng trnhchnh.y cng l im bt u ca mt chng trnh.cc phng thc hay hm trong javau c gii hn trong 2 du { }.
o public : thng bo hm main() l hm chung c th c gi t bn ngoi.
o static :thng bo y l hm tnh.c th triu gi thng qua tn lp.
o void : thng bo hm main() khng c gi tr tr v
o main(String args[]) : y l tn hm v tham s trong hm.
Dng cui cng: system.out.print( HelloWord ); dng lnh yu cu in ra chuiHelloWord.
o System : thvin h thng gip bn xut nhp hay tnh ton
o Out: l mt i tng trong thvin System
o Print: l hm ca i tng out
8/7/2019 Java co ban de doc
3/21
5. Kt bi.Trong phn trn chng ti gii thiu vi cc bn nhng iu c bn nht v java c thc nhiu ch cc bn vn cn m h nhng ng lo chng ta s cng lm r chng trongcc bi sau.bi sau chng ta s tm hiu nhng phn c bn cn li ca java.bi tp ln nyca cc bn l g th chng trnh HelloWord.java v cho chy th.hn cc bn bi sau.Bi 2. Bin v cc kiu d liu trong java1. Bin s trong java
Bin c dng cha d liu.d liu ca bin c th thay i nhng trong mt thi imnht nh bin ch cha mt d liu duy nht.cc bn c th hiu nh sau.khi cc bn clm vic vi mt d liu no .chng trnh s phi cp pht b nh cho d liu .binchnh l tn c t cho b nh m chng trnh cung cp cho d liu v chnh l gitr ca bin.mi bin li c mt kiu d liu nht nh
V d: int x; //x l bin c kiu d liu nguyn (integer)
Trong java c rt nhiu kiu d liu chng ta s tm hiu ti phn sau y.
2. Cc kiu d liu trong java
Trong java c 2 loi kiu d liu.
Kiu d liu c s:l cckiu d liu c xc nh sn trong ngn ng.chng l cckiu d liu c nh khng th chia ct hay thay i.v d nh:int,float,Boolean,long,byte
Kiu dliu tham chiu:l cc kiu dliu i tng.
3. Khai bo bin trong java.
Cu trc cu lnh khai bo bin trong java nh sau:
[Kiu d liu] [tn bin];
V d: int x; //khai bo x l bin kiu s nguyn
float y; //khai bo y l bin kiu s thc
4. Cc kiu d liu c s v cc vn lin quan.
Sau y chng ti s gii thiu vi cc bn cc kiu d liu c s trong java v cc vn lin quan n chng.
a) Kiu s nguyn
Java c cc loi s nguyn sau:
8/7/2019 Java co ban de doc
4/21
[IMG][/IMG] Gi tr mc nh:khi cc bn khai bo bin m khng khi to gi tr cho chng.java s t
ng khi to cc bin vi cc gi tr mc nh sau:
[IMG] [/IMG] Cc php tnh trn s nguyn:
http://i246.photobucket.com/albums/gg82/tbng255/2.jpghttp://i246.photobucket.com/albums/gg82/tbng255/1.jpghttp://i246.photobucket.com/albums/gg82/tbng255/2.jpghttp://i246.photobucket.com/albums/gg82/tbng255/1.jpg8/7/2019 Java co ban de doc
5/21
[IMG] [/IMG] Cc iu ch khi tnh ton
nu c hai ton hng u l kiu long th kt qu s l kiu long
nu ton hng no khng phi l long th n s c chuyn thnh long trc khi thc hinphp tnh.
nu 2 ton hng u khng l long th kt qu s l int k c byte ,short
bt k mt ton hng byte hay short no cng c chuyn thnh int sau mi thchin php tnh.
b) kiu s thc (kiu du chm ng)
java h tr cc kiu s thc sau:
http://i246.photobucket.com/albums/gg82/tbng255/3.jpg8/7/2019 Java co ban de doc
6/21
[IMG][/IMG] cc php tnh trn s thc
http://i246.photobucket.com/albums/gg82/tbng255/4.jpg8/7/2019 Java co ban de doc
7/21
[IMG] [/IMG] cc iu ch khi tnh ton.
nu mi ton hng u thuc kiu du chm ng th php tnh chuyn thnh php tnhdu chm ng
nu mt ton hng l double th tt c cc ton hng khc u chuyn thnh kiu doubletrc khi thc hin php ton.
nu khng c ton hng no l kiu double th cc ton hng u c chuyn v kiufloat
c) Kiu d liu char(kiu k t)
y lkiu d liu v k t.mi bin char s c gi tr l mt k t Unicode.
http://i246.photobucket.com/albums/gg82/tbng255/5.jpg8/7/2019 Java co ban de doc
8/21
V d: a , b , $ ,
Gi tr khi to mc nh ca kiu char l null
d) Kiu dliu Boolean
y l kiu dliu ch nhn mt trong 2 gi tr true hoc false(ng hoc sai)
Gi tr khi to mc nh ca kiu boolean l false
5. Php chuyn kiu trong java.
Nh ti ni phn trc.mi bin trong java u c mt kiu d liu nht nh.nhngkhi ta c mt bin ang mt kiu d liu ny m ta li mun s dng n vi mt kiu dliu khc nh trong php tnh gia cc ton hng khng cng kiu.ta phi lm sao? trli cho cu hi ny java h tr vic chuyn kiu nh sau:
V d1:float x=3.14; //khi to bin x l bin float vi gi tr l 3.14
int y=(int)x; //ta to ra mt bin y c kiu int v c gi tr ly t x theo php chuynkiu.khi y=3
v d 2:int u=3;
float v=(float)u;
v=3.0
c 2 kiu chuyn kiu nh sau:
o chuyn kiu hp:cc kiu chuyn ny l cc kiu chuyn t mt kiu d liu ln hn vkiu d liu nh hn.hay t kiu d liu s thc chuyn v kiu s nguyn.cc kiu chuynny thng lm mt thng tin v chnh xc ca bin s.(nh v d 1)
o chuyn kiu rng: y l kiu chuyn ngc li vi kiu chuyn hp.c ngha l chuyn tkiu d liu nh sang kiu d liu ln hay t kiu s nguyn sang kiu s thc.kiu chuynny s khng lm mt thng tin v chnh xc ca bin.(nh v d 2)sau y l bng cckiu chuyn rng c dng trong java:
8/7/2019 Java co ban de doc
9/21
[IMG] [/IMG]
6. Kt bi.
Trong bi ny chng ta lm quen vi bin v cc kiu d liu trong java. y l vn c bn v cng l rt quan trng trong tt c mi ngn ng lp trnh.hn gp li bi sau. cc php tnh trn s thc
Bi 3. Mng trong ngn ng lp trnh JavaNh ni phn trc.ngoi nhng kiu d liu c s java cn cung cp cc kiu d liutham chiu sau:
Mng (array)
Lp (class)
Giao din (interface)
Sau y chng ti s trnh by vi cc bn v kiu d liu mng.
1. nh ngha:
Mng l mt tp hp nhiu phn t c cng kiu d liu
V d: mng cc s nguyn {1,2,3,4,5, }
Mng cc k t{@,#,$,%,...}
2. Khai bo:
Java cung cp 2 cch khai bo mng nh sau:
Cp ngoc vng t sau tn bin.
http://i246.photobucket.com/albums/gg82/tbng255/6.jpg8/7/2019 Java co ban de doc
10/21
V d: int mangsonguyen [ ] ;
Cu lnh trn khai bo mt mng s nguyn tn l mangsonguyen
Cp ngoc vng t sau kiu d liu
V d: int [ ] mangsonguyen ;
Cu lnh ny cng l khai bo mt mng c tn l mangsonguyen
C hai cch khai bo trn u l khai bo mt mng trong java.thng th ngi ta dngcch th 2 khai bo nhiu mng cng loi mt lc nh:
int [ ] mang1,mang2,mang3;
chc hn cc bn cng thy sau khi khai bo chng ta ch c th bit c rng mng nymang kiu d liu g v tn mng l g nhng khng th bit c s lng phn t trongmng c khai bo l bao nhiu. Chng ta s thy trong phn tip theo y:
3. Cp pht b nh cho mng.
Trong java,sau khi khai bo th mng cha c xc nh.chng ta cn phi cp pht cho nmt b nh c th lu tr c d liu.
Khng nh cc ngn ng khc kch thc ca mng khng th xc nh ngay khi khai bonh sau: int mang[10] nu khai bo nhvy th s b li bin dch ngay.bi v trong java ttc cc hot ng u thng qua cc i tng.mng cng vy.chng ta phi cp pht bnh cho mng nh sau:
int mang[ ] = new int[10]; y l cch cp pht ngay khi khai bo mng. ngha ca cu
lnh trn l khai bo mt mng nguyn c tn l mang c kch thc l 10.
Hay cng khai bo v cp pht nh trn ta c on m lnh nh sau:
int mang[ ];
mang = new int[10];
ngha l chng ta c th khai bo mng trc sau mi cp pht b nh cho n.
4. Khi to mng.
Sau khi khai bo v cp pht b nh cho mng.cc phn t ca mng cng c khi to
vi cc gi tr mc nh nh vi cc bin.ngoi ta chng ta cng c th gp khai bo ,cppht v khi to mng bng cch lit k cc gi tr cu mng nh sau:
int mang[ ]={1,2,3,4,5} dng lnh khai bo mt mng c 5 phn t v gi tr ca mi phnt tng ng l 1,2,3,4,5
5. Truy cp mt mng.
Trong java,cc phn t trong mng c nh s th t t 0.ngha l phn t u tin ca
8/7/2019 Java co ban de doc
11/21
mng l phn t th 0 v phn t cui cng ca mng n phn t mang th t l
n-1. truy cp mt phn t ca mng ta lm nh sau:
truy cp phn t th k ca mng tn l A : A[k]
v d: int A[ ]={1,2,3,4,5}
khi A[0]=1,A[1]=2,A[2]=3,A[3]=4.A[4]=5.
6. Mng nhiu chiu trong java.
Khai bo:mng nhiu chiu cng c khai bo nh mng mt chiu nhng thm mt dungoc vung nh sau:
V d: int [ ][ ] a=new int[3][4]; khai bo mng s nguyn 2 chiu c tn l a c 3 phn tl mng mt chiu v mi mng mt chiu c 4 phn t l s nguyn
hay cng c th khai bo vi cc gi tr khi to nh sau:
int [ ][ ] a={{1,2,3},{4,5,6},{7,8,9}};
Cch truy cp
Cng nh mng mt chiu. truy cp vo mt phn t trong mng nhiu chiu chng tacng s dng th t v tr ca phn t .
V d:
int [ ][ ] a={{1,2,3},{4,5,6},{7,8,9}};
int b=a[1][2]; khi b=6;
7. Cc hm vi mng trong java.
Java cung cp mt s hm nh sau:
Hm length :hm ny cung cp s phn t ca mng
V d:
int A[ ]={1,2,3,4,5};
int a=A.length; khi a=5.
Hm System.arraycopy trong gi th vin System
V d:
int a[ ]={1,3,5,7,9,11,13,15}
int b[ ]={2,4,6,8,10,12,14}
8/7/2019 Java co ban de doc
12/21
System.arraycopy(a,3,b,2,4);
Kt qu ca on m lnh trn l mng b c gi tr mi l {2,4,7,9,11,13,14}
Ngha l hm ny s thay th 4 phn t tnh t phn t th 2 trong mng b bng ngn yphn t tnh t phn t th 3 trong mng a.
Cc hm trong gi th vin java.until.Arrays
Hm sp xp mng s tng dn.
V d:
int a[ ]={2,6,4,1,5};
Arrays.sort(a);
Kt qu s c mng a c gi tr l {1,2,4,5,6}
Hm tm kim mt phn t trong mng.kt qu tr v s l v tr ca phn t trongmng,s tr v gi tr l -1 nu khng tim thy
V d:
int a[ ]={1,3,5,2,4};
int n=Arrays.binarySearch(a,2);
kt qu l n=3;
Bi 4. Chui trong JavaChui l tp cc k t ng lin nhau c gii hn trong du ngoc kp nh: helloword ; hoc.itop.vn
Sau y chng ta hy cng tm hiu cc vn v chui trong java.
1. Khai bo v khi to
Java cung cp cc kiu khai bo v khi to string nh sau:
Khai bo mt xu rng
V d: String str1=new String( ); //khi to str1 l mt xu trng
Khai bo v khi to mt xu bng mt chui cho trc.
V d: String str2=new String( Hello word ); //khi to str2 bng Hello word
Khai bo v khi to mt xu bng mt mng k tcho trc.
8/7/2019 Java co ban de doc
13/21
V d: char ch[ ]={ a , b , c , d , e };
String str3=new String[ch];
Kt qu str3 l xu abcde
Khai bo v khi to mt xu bng cch chn mt vi k ttrong mt mng k tchotrc.
V d: char ch[ ]={ a , b , c , d , e };
String str4=new String[ch,0,2];
Kt qu str4 l xu ab , v khi to ny s khi to xu str4 l ly 2 k ttv tr th0.
2. Thao tc ni chui(cng 2 chui)
Cng 2 chui bng du cng (+)
V d: String str1=new String( Hello word );
System.out.printf( toi muon noi +str1);
Kt qu ca on m trn s in ra dong ch: toi muon noi Hello word
Ch :java c kh nng tchuyn bt cdliu kiu sno khi cng vo String.
V d: int n=100;
Float m=100.123;
System.out.printf( so nguyen la +n+ so thuc la +m);
Kt qu s in ra chui s: so nguyen la 100 so thuc la 100.123 c ngha l java schuyn n v m thnh kiu string ri sau s ni vo chui pha trc.
Khi cng chui bng du cng ,kt qu s a ra bng cch ni 2 chui vo v tr cui cngca chui u tin.
Cch ni chui ny thng c s dng khi in ra mn hnh hoc chuyn kiu d liu ssang string.
Ni 2 chui bng phng thc concat( )
Khc vi vic ni chui bng du cng l ni 2 chui ti v tr cui cng ca chui utin.thay vo phng thc ny s tr v mt chui mi.
V d: String str1,str2,str3;
str1= Welcome ;
str2= hoc.itop.vn ;
8/7/2019 Java co ban de doc
14/21
str3=str1.concat(str2);
kt qu l str3 s bng Welcome hoc.itop.vn
3. Cc hm x l vi chui trong java
substring
v d: String str1=new String( hoc.itop.vn );
String str2=str1.substring(0,3);
Kt qu l str2 bng hoc .c ngha l phng thc substring s ly 3 k ttrong xu str1bt u tk tth0.
length
tr v di chui
v d: String str1=new String( hoc.itop.vn );
int n=str1.length( );
kt qu l n=11 ngha l phng thc length( ) s tr v di xu k t
charAt
v d: String str1=new String( itop.vn );
char ch=str1.charAt(3);
kt qu l ch= p ngha l phng thc charAt( 3) s tr v k tth3 tnh tv tr th0trong xu str1
equals
phng thc ny so snh 2 chui.kt qu tr v c kiu boolean
v d: String str1=new String( hello );
String str2=new String( ITOP );
Boolean k=str1.equals(str2);
Kt qu tr v l k=false ngha l phng thc equals s so snh tng k t trong 2 chui.
Ch l trong java c phn bit kiu ch hoa v ch thng nh: iTop # ITOP
compareTo
so snh 2 chui ln lt thttng k tca 2 chui ngha l:
int a=str1.compareTo(str2);
8/7/2019 Java co ban de doc
15/21
a=0 nu s2=s1
a>0 nu s2>s1
a kavcb
toCharArray
l phng thc i chui thnh mng k t.
v d: String str1==new String( itop.vn );
char [ ] ch=str1.toCharArray( );
kt qu l mng ch={ i , t , o , p , . , v , n }
indexOf
v d: String str1=new String( hoc.itop.vn );
String str2=new String( op );
String str3=new String( ab );
int n=str1.indexOf(str2);
int m=str1.indexOf(str3);
kt qu l n=7 v m=-1 ngha l phng thc ny s tr v v tr ca chui str2 v str3trong chui str1.nu khng tm thy s tr v gi tr -1
startsWith( )
tr v gi tr kiu boolean
v d: String str1= hoc.itop.vn ;
String str2= hoc ;
boolean k=str1.startsWith(str2);
kt qu l k=true ngha l phng thc ny s kim tra xem chui mt c bt u bngchui 2 hay khng
8/7/2019 Java co ban de doc
16/21
endsWith( )
cng nhhm startsWith( ) kt qu trv l kiu boolean.
V d: String str1= hoc.itop.vn ;
String str2= com ;
boolean k=str1.endsWith(str2);
kt qu l k=false ngha l hm ny s kim tra xem chui str1 c kt thc l chui str2 haykhng.
copyValueOf( )
phng thc ny tr v mt chui c rt ra t mt mng k t.
v d: char ch[ ]={ a , b , c , d , e );
String str1=String.copyValueOf(2,2);
Kt qu l str1= cd ngha l xu str1 c rt ra tmng ch bng cch ly 2 phn tca mng v ly tv tr th2.
toUpperCase( )
phng thc ny s tr v ch hoa ca chui
v d: String str1= hello ;
String str2=str1.toUpperCase( );
Kt qu l str2= HELLO ;
toLowerCase( )
phng thc ny s tr v chthng ca chui
v d: String str1= hello ;
String str2=str1.toLowerCase( );
Kt qu l str2= hello ;
chuyn kiu dliu tString sang s
cc phng thc chuyn kiu dliu tString sang snm trong gi thvin java.lang tac bng cc phng thc nhsau:
8/7/2019 Java co ban de doc
17/21
[IMG] [/IMG]
V d: String str1=new String( 124 );
int n=Integer.parseInt(str1);
kt qu l n=124
Bi 5. Cc cu lnh iu khin trong Java 1. Cu lnh iu khin r nhnh.
i. Cu lnh if else
Cu lnh if else kim tra kt qu mt iu kin v thc thi thao tc ph hp trn c s ktqu .
cu trc cu lnh nh sau:
if (iu kin)
{
Cc cu lnh thc thi khi iu kin ng;
}
else
{
Cc cu lnh thc thi khi iu kin sai;
}
Trong :
http://i246.photobucket.com/albums/gg82/tbng255/7.jpg8/7/2019 Java co ban de doc
18/21
iu kin y l mt biu thc Boolean nh ton t so snh.biu thc ny tr v gi trtrue hoc false(ng hoc sai).
Cn cc cu lnh thc thi c th l mt hay mt tp cc cu lnh.nu l mt cu lnh thkhng cn phi c 2 du ngoc.
C th hiu cu trc ny nh sau:
Nu (iu kin ng) th
{
Cc cu lnhthc thi khi iu kin ng;
}
Cn khng th
{
Cc cu lnh thc thi khi iu kin sai;
}
V d:chng trnh kim tra xem s a l chn hay l v in ra mn hnh thng bo
Class kiemtra{
Public static void main(String args [ ] ){
int a=10;
if (a % 2 = = 0)
System.out.printf( so +a+ la so chan );
else
System.out.printf( so +a+ la so le );
}
}
Kt qu chng trnh s in ra mn hnh dng ch so 10 la so chan .
Cc pht biu i f else lng nhau.
Cc pht biu if else c tht lng nhau theo cc cu trc nh sau:
if (iu kin 1)
8/7/2019 Java co ban de doc
19/21
if (iu kin 2){
}
else{
}
else {
}
Hoc l:
if (iu kin 1){
}
else{
if (iu kin 2){
}
else {
}
}
ii. Cu lnh switch case
Pht biu switch case dng khi biu thc xt iu kin c nhiu kt qu.pht biu nycng c th c vit li bng cc pht biu if else lng nhau.
cu trc ca pht biu ny nhsau:
switch (biu thc)
{
case kt qu 1 :{
Cc cu lnh thc th khi biu thc c kt qu 1;
break;
}
8/7/2019 Java co ban de doc
20/21
case kt qu 2 :{
Cc cu lnh thc th khi biu thc c kt qu 2;
break;
}
case kt qu n :{
Cc cu lnh thc th khi biu thc c kt qu n;
break;
}
default:{
Cc cu lnh thc th khi biu thc khng c kt qu no ging cc kt qua ra;
}
}
v d:in ra mn hnh thng bo v s a
class kiemtra1{
int a=2;
switch (a){
case 1 :{
system.out.printf( so +a+ l so 1 );
break;
}
case 2 :{
system.out.printf( so +a+ l so 2 );
break;
}
case 3 :{
system.out.printf( so +a+ l so 3 );
8/7/2019 Java co ban de doc
21/21
break;
}
default: systemprintf( so +a+ la so nguyen khac 1,2,3 );
}
}
Kt qu l s in ra mn hnh dng ch so 2 la so 2 v ta khi to a=2,cn nu a khc1,2,3 gi d a=4 th s in ra dng ch so 4 la so nguyen khac 1,2,3
Chng trnh trn c th vit li bng cc pht biu if else lng nhau nhsau:
Class kiemtra2{
int a=2;
if (a= =1) system.out.printf( so +a+ la so 1 );
else {
if (a= =2) system.out.printf( so +a+ la so 2 );
else {
if (a= =3) system.out.printf( so +a+ la so 3 );
else
system.out.printf( so +a+ la so nguyen khac 1,2,3 );
}
}
}
Kt qu ca chng trnh vn l in ra mn hnh dng ch so 2 la so 2 .