You are on page 1of 15

Lp trnh java:

- Java l ngn ng lp trnh n gin, hng i tng, hiu nng cao. a nn


tng, kin trc trung lp.
- C tnh bo mt, mnh.
- Thng dch, thn thin vi mi trng tng tc. B i khi nim con tr, khng
c khi nim v con tr, v a tha k v np chng ton t. C ch thu hi vng
nh t ng-> gii phng cc vng nh c cp pht cho cc mang, cc i
tng t ng (Garbage - collectiion). Mi th trong ngn ng java u c th
c th hin bng hng i tng.
- Java gip chng ta lp trnh mng d dng, gip cho lp trnh vin vit c ng
dng mng d dng.
- Vit chng trnh ng dng mng cho cc giao thc tcp/udp.
- Ti thi im chy chng trnh th java s gin tip chy trn nn tng 1 h iu
hnh thng qua my o (java virtual machine). My o s dch chng trnh java
thnh ty thuc vo mi h iu hnh. Sau my o s x l cc lnh c th .
Java --------> *.class --------> JVM(java.exe).
- Java l mt ngn ng mnh, cc chng trnh java phi ng tin cy, Java l mt
ngn ng bo mt. Java c lp vi kin trc. Java l ngn ng hiu nng cao,
- Java SE l nn tng pht trin ng dng java trn client.
- Java EE c xy dng trn nn tng javaEE xy dng trn nn tng server.
- Java va l ngn ng lp trnh va l nn tng pht trin ng dng.
- Mt chng trnh java lun c 1 phng thc main.
*/
public class Bai1 {
/**
* @param args the command line arguments
*/

public static void main(String[] args) {


// TODO code application logic here
}
}
String[] args l tham s.
- Bt k phng thc no c t kha static th l phng thc ca lp.
CHNG II. CHNG TRNH JAVA
1. Cu trc ca mt chng trnh java.
- nh ngha gi.
=> vd: Java.net.socket; (khai bo ch s dng lp socket)
vd: Java.net.* s dng tt c cc lp trong java.net.
- khai bo th vin
- nh ngha lp, giao tip.
Ch : Tn tp chng trnh java trng vi tn lp.
- java phn bit ch hoa v ch thng.
- nh danh, kiu d liu v khai bo bin:
+, nh danh l tn gi cc thnh phn trong chng trnh. Dng xc nh bin,
kiu, phng thc v lp. L dy cc k t bao gm ch ci, ch s v k t khc
('_', '$').
+ nh danh khng bt u bng ch s (01 2..).
Quy c t tn cho lp: mi ch ci u tin trong t u vit hoa: (v d
ServerSocket, DatagramSocket).
- i vi tn bin v phng thc, ch ci u ca mi t trong nh danh u vit
hoa ngoi tr t u tin. v d (hoTen, getInetAdress).
- Ch thch dng th ging trong C.

* Cc kiu d liu trong java.


- Cc kiu d liu c sn trong java.
- Kiu d liu do ngi dng nh ngha.
- Kiu d liu nguyn t.
D liu
Char

Char

byte

Byte

short

Short

int

Int

long

Long

float

Float

double

Double

Cac lop gi cho php chuyn k t thnh su v ngc li.


Thu hp d liu: t kiu d liu c rng ln hn sang rng nh hn.
M rng d liu: T kiu d liu c rng nh hn sang rng ln hn.
2. Cc loi bin trong java.
Nu dng hm ton hc, chng ta dng math.
3. Cc lnh r nhnh:
Cu lnh if: ging trong C.
Vd: Vit chng trnh nhp vo dy s nguyn v sp xp dy s .
Cu trc switch (Ging nh trong C).
Vng lp while.
Bi tp: Nhp vo cc s a,b, gii phng trnh bc 2
2. To lp lp SinhVien (string name, int diem)
getName()
setName()

2.4.1. Cu trc chung ca mt lp.


[<pham vi hoc kim sot truy nhp>] class <tn lp> extends <tn lp cha>
[implements <ten giao din>]
{
<cc thnh phn lp>
}
Khun mu lp.
Cu t khi to: Contructor:
Ch : to lp th phi c cu t khi to.
Super: dng tham chiu n lp cha.
- Cc gi trong java.
Mt gi l tp hp cc lp c lin quan vi nhau.
- Ko th c 2 lp cng tn trong cng 1 gi.
- Cc lp c th cng tn nu chng trong cc gi khc nhau.
- c t mt gi: package cs11;
- c t v tr u tin trong m ngun: import:
- S dng cc lp trong cc gi. Nu 1 lp nm trong 1 gi ta phi tham chiu
ti lp vi tn y . VD java.util.ArrayList my list = new
java.uttil.ArrayList();
- C2: import java.util.ArrayList;
2. Java API v cc gi.
- Tt c cc lp java API u nm trong cc gi.
- tt c cc lp lp trong gi java.lang u t ng khai bo sn.
* interface: tng t nh cc class nhng ch cha cc khai bo phng thucs m
ko c phn thn ci t.
=> ch lm nhim v khai bo hnh vi m ko nh ngha dc hnh vi .
- ko c ci t phng thc v ko co cc trng. Mt lp c th ci t nhiu giao
tip -> gi l a tha k giao tip.
- java ko h tr a tha k lp. ch h tr a tha k interface.

- giao tip nh ngha giao thc truyn tin gia 2 i tng. Giao tip khai bo 1
tp cc phng thc. mt lp s implement mt interface m cung cp 1 tp
cc hnh vi.
- cc interface s che du tt c cc chi tit ci t.
Vidu interface:
Public interface test{
Void init();
Void simulate(double time);
Void shutdown();
}
Mt lp c th implement nhiu interface. Bn thn interface ko c cc th hin
i tng (vd interface a{}; a bc = new a());
S dng cc interface tc ri cc thnh phn ca chng trinh. c bit hu ch
khi mt thnh phn c th c ci t theo nhiu cch.
- Cc thnh phn khc tng tc vi kiu giao thc chung m ko phi cc ci
t c th.
C th tha k Interface s dng t kha extends.
3. Java Collections.
- tp hp cc lp qun l cc tp hp cc i tng.
- cung cp cc giao tip, cc kiu i tng cc kiu tp hp khc nhau.
Cung caaps cc ci t vs cc tnh chatas c trng khc nhau, cung cp cc c ch
duyt ni dung ca mt tp hp.

Cung cp 1 s thut ton cho b su tp .


Tnh biu t cao.
L ngn ng hp dn i vi nh pht trin.
Cc collection trong java.
Map, set, list,queue, Generic,

V nh:
- Ch ra khc bit vng lp for trong java vi C va C++;
V nh: Dng lp trnh java lp trnh tha k, super, khai bo cc
constructor.
- VD: Person, ngi VN.
Cc lp c nhm thnh cc gi, cc gi to thnh s phn cp
Truy cp class: package1.packet2.ClassName
- Cc tn gi l ch vit thng.
- Cc lut t tn ging nh tn bin.
Ex: java.awt.event.MouseEvent
- Java l ngn ng lt hng i tng hon ton.
- Cc chng trnh c to thnh bi cc lp.
- Cc i tng l mt cp bao gm hnh vi v trng thi.
Trng thi l 1 tp hp cc gi tr d liu c lin quan vi nhau.
Hnh vi l cc m lnh tc ng ln d liu theo cc thc gn kt lin
quan vi nhau.
- Lp s nh ngha trng thi v hnh vi ca cc i tng thuc lp .
Cc trng v cc phng thc.
- Mt lp bao gm cc thnh phn.
- Cc trng l cc bin gn lin vi lp .
- Cc bin s lu tr trng thi ca lp.
- Cc phng thc l cc thao tc m lp c th thc hin.
- Tp hp cc phng thc ca lp s xc nh cc hnh vi ca lp.
- M lnh cho phng thc l ci t ca phng thc.
- Cc phng thc thng lin quan ti cc trng thg tin.
Cc phng thc c bit:

- Cu t (constructor): to ra cc th hin ca mt lp, c th nhn tham s,


nhng ko bt buc.
- Khng c gi tr tr v.
- Tt c cc lp u c ti thiu mt hm constructor.
- Cc phng thc truy nhp cho php tm kim d liu bn trong.
- S cung cp c ch iu khin cc thc d liu c t chc nh th no.
- Cc phng thc Mutators l cc phng thc lm bit i d liu bn
trong. N cung cp khi no v cch thc d liu s thay i.
- Trong java khng c hm hy.
- Khng phi tt c cc lp u c cc hm truy nhp v sa i d liu.
Abstraction(khi qut ha): a ra 1 giao tip n gin ha v r rng. Che du i
nhng chi tit khng cn thit i vi ngi s dng lp .
Encapsulation(bao gi): cho php i tng bo v trng thi bn trong khi nhng
truy nhp v sa i bn ngoi.
Cc phng thc ch c th m bo nhng thay i trng thi m ng
n.
- Cc t kha ch phm vi truy nhp (Access Modifiers):
+, public: cho php truy cp t mi ni.
+, private: ch cho php truy cp trong phm vi ni b lp .
+,protected: cho php truy cp t chnh lp v k tha lp .
+,Default: nhng thnh phn trong gi th c th truy nhp.
Bo v cc chi tit ci t bng cc t kha.
- Cc phng thc truy nhp thng bt u bng t get.
- Nu phng thc tr v boolean th tin t thng bt u bng is
Tham chiu:
Point2D p1 = new Point2D();
Point2D p2 = new Point2D(1, 2);//ban than p1 p2 khong phai doi tuong ma
chi la tham chieu.

- My o java s theo di khi no i tng khng cn c tham chiu


thu hi li.
- Cc tham s ca phng thc ca i tng trong java.
- iu j s xy ra khi ta gi mt hm vi 1 hm vi tham s truyn vo l i
tng.
Cc phng thc static:
- c gi l cc phng thc ca lp.
- Ko th s dng tham chiu this
- Khng th c goi trn i tng c th.
- Cch gi: className.tenphuongthuc();
- Cc phng thc khong phi phng thc tnh c gi l phng thc ca
i tng.
So snh trong java:
Ex: Point2d p1 = new Point2d(3,5);
Point2d p2 = new Point2d(3,5)
Point2d p3 = p1;
P1 == p3 (true)
P2==p1(false)=> v khc tham chiu.
so snh 2 i tng trong java th chng ta phi t phng thc equals()
trong lp
Ex: public equals(object obj)
Tr v true nu obj = this
Bi tp: to lp poind2d trong c ta x, y. ci t cc phng thc get
set. Tn file l Point2d.java, phi c constructor c tham s, ci t phng
thc equals kim tra xem 2 ta c bng nhau khng.
- To mt lp mi point3d biu din im trong khng gian 3 chiu gm
cc tc v: to mi i tng bng cc thm vo 3 gi tr ta .
- To mt constructor mc nh this(0,0,0), ci t tha k cc phng thc
get set. So snh bng ci t phng thc equals cho im 3D. (S dng cc

t kha super v this). Ci t phng thc distance_to l khong cch t


im ny ti im khc.
- To mt lp c tn l lab1 c phng thc main nhp vo 3 im 3D t bn
phm hoc t file.
- Vit 1 phng thc tnh tnh din tch tam gic. (compute Area()) s dng
cng thc heron.
- Cc t phng thc toString cho cc lp point2d v point3d.
Class Inheritance:
- Mt lp c th c tha k t lp khc xy dng nn tnh nng ca n:
- Cc lp con tha k tt c cc phng thc v cc trng trong lp cha.
Ta c th thm vo tnh nng mi, hoc np chng cc phng thc ca
lp cha.
- Tha k lp m hnh ha quan h is-a
- Mt lp con l mt th hin c th ca lp cha.
- Lp con c cc c trng ca lp cha.
Np chng phng thc:
- L tng hu ch c bit cho vic g li.
- c s dng kt ni xu.
- Cc phng thc ca lp cha c th c gi m khng cn mt c php
c bit no.
- Cc lp con cng c th a ra cc phng thc ca ring n.
- Mi bin tham chiu c mt kiu lp c bit no .
- Kiu ca bin cho ta bit ci m s c truy nhp.
Phn lp trong java.
Java.lang.Object
Java.lang.Number
Java.lang.Interge

- Mi tham chiu c kiu lp gn lin vi n.


S phn cp:

- Cc lp con khng tha k static. C th c truy nhp nhng ko dc tha


k bi cc lp con.
- Nu chng ta mun up 1 file ln server h ta dng
- Task t = new FileUploadTask();
t.doTask();
- Hnh vi ca lnh s thay i ty thuc vo kiu ca cc i tng c lin
quan.
- Khi qut ha lp task.
- Khng c ngha nhiu cho lp task c ci t ca lp.
- Chuyn lp task thnh lp tru tng.
- Lp tru tng khai bo mt tp cc hnh vi, nhng ch l 1 phn
Khc nhau lp interface v abstract class.
- Cc lp tru tng khng th c cc i tng. Cc lp con phi ci t cc
hm cn thiu.
Ex: FileUploatTask:

- Tt c cc phng thc abstract ca lp abstract u c t kha abstract.


Ngoi tr hm Constructor.
- Cc lp tru tng vn c th c trng hoc phng thc khng tru
tng.
- FileUploadTask khng th ghi doTask.
- Khng c g ghi .
- FileUploadTask implements doTask();
- Lp con phi cung cp ci t cho tng phng thc abstract ca lp cha.
Nu khng lp con cng phi c khai bo abstract.
- Chng ta khng th c i tng ca lp tru tng. Tuy hin chng ta vn
c th c tham chiu ca mt lp tru trng.
- Outer class {
Inner class{
}
}
C th c :
- Outer class {
Static Inner class{
}
Non-Static Inner class{
}
}
- Ging nh cc phng thc ca i tng th cc lp bn trong phi c
s dng trong ng cnh ch n.
- Cc lp bn trong ny thc s tham chiu ti i tng cha n.
- Chng c th trc tip truy nhp ti cc trng v cc phng thc ca i
tng ch n.
- Chng ta khng th to ra cc i tng ca lp bn trong trong mt phng
thc tnh ca lp bn ngoi.

- Cc lp bn trong rt c ch cho b lng nghe s kin.


- Lp bn trong c th truy cp n thnh phn private ca lp bn ngoi.
- Khi cn chng ta c th to ra nhiu i tng ca lp bn trong gn lin vi
1 lp bn ngoi duy nht.
Chng 3: Java Stream IO (Cc lung vo ra)
BVN: Hy s dng cc lung nhp/xut thc hin cc cng vic sau:
- c tp vn bn .txt v hin th ni dung ln mn hnh.
- Gii s c 1 tp l so.dat lu tr 1 dy s cc s du phy ng nh ch s
thc. c dy s v sp xp li dy s sau ghi vo 1 tp khc.
- Java cung p c ch vo ra da trn lung d liu.
- Thng thng ta s m 1 lung vo/ra thng qua 1 c ch c th no .
- Nhn lung xut gi d liu lung nhp.
InputStream.
- Phng thc read(): c 1 hoc nhiu byte.
Phng thc blocking: Khi vn cn d liu th s tip tc c.
- Phng thc Available: Thng bo cn bao nhiu Byte c th c m ko b
block.
- Close: ng li.
Cc phng thc OutputStream.
- Cc phng thc write() ghi 1 hoc nhiu byte ra lung.
- Phg thc flush(): bt buc nhng d liu vng p phi c ghi ra
ngoi.
- Close(): ng lung ra.
- Cc lung inputstream v outputstream l cc lung byte.
- Cc gi tr thc s c truyn i l cc byte.
- Cc lung ny ko thch hp cho d liu kiu vn bn.
- Java.io.reader v java.io.write: cho php giao tip vi d liu k t.
- Cc thao tc ging nh cc lung inputstream v outputstream.

- Lm vic vi gi tr character.
- JavaStream API h tr cc lung hp thnh.
- BufferedReader: a vo vng m chng ta c th c dc mi dng vn
bn.
X l ngoi l:
- C rt nhiu li khi vit chng trnh, nhiu khi khng th kim sot hetes
cc li
- Trong java lp exception cung cp cc lp kim tra li m khng gy
chia ct m lnh.
- Ngoi l ko dc kim tra thng l cc lp con ca cc lp error v runtime
exception.
- Ngoi ra mt phng thc pht sinh ngoi l cng dc t trong khi try catch.
- Khi finally lun lun dc x l cho d c ngoi l xy ra hay khng.
- Mnh throw: cc ngoi l dc a ra bng cc s dng lnh throw n s
nhn 1 i tng lm tham s. V i tng ny s thuc lp con ca lp
throwable.
Phn bit throw v throws
Java Stream IO and Exceptions
X l thread.
- Mt thread l mt lung x l tun t trong sut chng trnh
My o java cho php s dng Multiple thread (cho php a lung)
- Hm chy chnh ca thread l hm run
- C ch thu hi rc cng s dng 1 thread(lung)
- Java AWT/SWING th s dng ring 1 thread.
Thread c th c cc ti nguyn cc b, ch s dng bi thread
Thread cng c th chia s ti nguyn vi nhau.
- Vic ny lm ny sinh 1 s vn d.

Vn ln nht: interleaved access


V d: count l mt bin chia s gia 2 thread. Gi s count = 15
2 thread cng thc hin count = count + 1
Cc c ch x l tng tranh:
- C ch kha: Cc ti nguyn dng cung phi c x l 1 cch nguyn t
(ko th chia nh hn) ch cho php trong mt thi im ch c 1 thread c
truy cp ti nguuyeen chia s.
- Ti nguyn chia s c th b kha bi 1 thread.
- Nu thread kha nhiu ti nguyn chia s th c kh nng xy ra deathlock.
- 1 thread ging nh 1 tin trnh ring bit m s dng cng d liu
- y l 1 kiu lp trnh song song.
Java Lab 3:
V nh: to giao din ngi dng
- To cc i tng ha fractals.
B1: To 1 lp jImageDisplay tha k lp java.swing.jComponent. Lp gm
cn c 1 trng private nh l a java.awt.image.BufferImage. BuferImage
class qun nh v cho php ghi vo n
B2: JimageDisplay khi to 1 khung c chiu rng v chiu cao v ci t
BufferImage cho 1 bc nh mi c rng v cao . Kiu n gin ny
ch r lm th no mi pixel mu tng trng cho bc nh R G B l 8 bit
B3: Gi

B5: Ngoi ra chng ta cng cn 2 phng thc ghi d liu vo nh


Pt1: clearImage() set tt c pixel thnh en
Pt2: drawPixel() cho mu vo, v s

Ci t thread:
- Nhiu thread cng chy trn mt i tng
Ging nh l mt vi tin trnh cng x l 1 data
- ch mc nh 1 ng dng chy trong 1 thread.
xy dng 1 thread
- Ta dng constructor nh sau:
Thread(Runnable target): to ra 1 thread mi nhng lc ny cha khi
ng thread.
khi ng cc tuyn on: ta dng phng thc start.
Khi phng thc start() c gi th c phng thc khc c gi theo
l phng thc run().
- Cc Thread c tn ti sau khi kt thc run th chng b dng v ph hy.
Cch duy nht dng 1 thread.
- Ta c th sleep 1 thread khin 1 thread a vo trong trng thi ng.

You might also like