Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 30

CHNG 2: KIU D LIU, HNG, BIN, TON T

Cc kiu d liu c s Hng Bin Lnh, khi lnh trong Java Ton t u tin gia cc ton t

Cc kiu d liu c s
Ngn ng lp trnh java c 8 kiu d liu c s: byte, short, int, long, float, double, boolean v char Cc kiu ny c chia thnh 4 nhm nh sau S nguyn: byte, short, int v long S du phy ng: float v double, cc s ny c chnh xc cao K t: char, m t cc k hiu trong b k t, gm c cc k s Logic: boolean, l kiu c bit gm 2 gi tr true/false Cc kiu ny m t cc gi tr n gin, chng l c s to cc kiu d liu khc

Kiu s nguyn
Cc kiu s nguyn u c cc gi tr dng v m. Java khng cung cp cc s khng du, nguyn dng ln v gii hn ca cc kiu s nguyn ny c th hin trong bng sau
Tn long int short ln (bit) 64 32 16 Gi tr min -9,223,372,306,854,775,808 -2,147,483,648 -32768 Gi tr max 9,223,372,306,854,775,808 2,147,483,647 32767

byte

-128

127

Kiu s nguyn
byte: ch yu s dng khi lm vic vi 1 lp d liu t mng hay tp tin. N cng c s dng khi lm vic vi d liu nh phn short: y l kiu t c s dng nht, thng s dng cho cc my 16 bit int: l kiu linh hot v c hiu qu nht, thng dng iu khin vng lp, ch s cc mng hay lm php tnh s nguyn long: c s dng khi kiu int khng ln lu tr gi tr yu cu

Kiu du phy ng
Cc s du phy ng l cc s thc, c s dng khi tnh cc biu thc m cn chnh xc cao ln v gii hn ca cc kiu du phy ng ny c th hin trong bng sau
Tn ln (bit) Gi tr min Gi tr max

double
float

64
32

1.7e-308
3.4e-038

1.7e+308
3.4e+038

float: l gi tr chnh xc n, thng s dng khi cn 1 thnh phn nh, khng cn chnh xc cao double: l gi tr chnh xc i, thng dng cho cc thnh phn rt ln hoc rt nh

Kiu k t
Trong Java, kiu char dng lu cc k t. Java s dng Unicode biu din cc k t.

Unicode nh ngha b k t quc t mt cch y , c th m t tt c nhng k t tm thy trong tt c cc ngn ng con ngi p ng cho mc ch ny n cn 16 bit. V vy trong Java, kiu char l mt kiu 16 bit
Gi tr mc nh cho mt bin kiu char l null

Kiu logic
Trong Java c mt kiu n gin gi l boolean, gm 1 trong 2 gi tr logic l true hoc false

y l kiu tr v bi tt c cc ton t quan h, l kiu c yu cu bi cc cu trc iu khin


Khi cc gi tr boolean c xut ra bng phng thc println() th cc chui true hoc false c hin th Trong java kiu boolean khng th chuyn thnh kiu nguyn v ngc li Gi tr mc nh ca kiu boolean l false

Hng
Hng l mt gi tr bt bin trong chng trnh Tn hng c t theo qui c ging nh tn bin

Hng s nguyn: trng hp gi tr hng dng long ta thm vo cui chui s ch l hay L. (v d: 1L)
Hng s thc: trung hp gi tr hng c kiu float ta thm tip v ng f hay F, cn kiu s double th ta thm tip v ng d hay D Hng Boolean: java c 2 hng boolean l true, false

Hng k t: l mt k t n nm gia nm gia 2 du ngoc n. V d: a l hng k t a

Hng
Hng chui: l tp hp cc k t c t gia hai du nhy kp . Mt hng chui khng c k t no l mt hng chui rng. V d: Hello Wolrd Mt s hng k t c bit
K hiu \uxxxx \ \ \\ \r K t c bit K t Unicode Nhy n Nhy kp S ngc Du enter

\n \f \t \b

Xung hng y trang Tab Xa li (BackSpace)

Bin
Bin l vng nh dng lu tr cc gi tr ca chng trnh Mi bin gn lin vi mt kiu d liu v mt nh danh duy nht gi l tn bin Trong java, bin c th c khai bo bt k ni u trong chng trnh

Khai bo bin
Trong Java, tt c cc bin phi khai bo trc khi s dng. Cch khai bo bin nh sau <kiu_d_liu> <tn_bin>; <kiu_d_liu> <tn_bin> = <gi_tr>; <kiu_d_liu> <tn_bin>, <tn_bin> = <gi_tr>;

Kiu d liu l cc kiu c s ca Java hoc tn lp hay tn giao din


Gi tr c th l mt hng hay mt biu thc c gi tr tr v cng kiu d liu vi bin

Khai bo bin
Vi v d khai bo bin ca cc kiu int a, b, c; int d = 3, e, f; float g = 3.5, h; double pi = 3.14159, x, y;

char k = a, t;
double z = Math.sqrt(x*x+y*y);

Phm vi v thi gian sng ca bin


Tt c cc bin s dng c khai bo phn u ca phng thc main(). Tuy nhin Java cho php cc bin khai bo trong khi bt k

Mi khi nh ngha mt phm vi. Do , mi ln bt u khi mi l ta ang to phm vi mi


Mi phm vi xc lp cc bin trong tng phn khc nhau ca chng trnh. Do , thi gian sng ca cc bin b hn ch trong phm vi ca n Cc phm vi c th lng nhau. Khi , phm vi bn ngoi s cha phm vi bn trong

Phm vi v thi gian sng ca bin


class Scope { public static void main(String args[]) { int x; x = 10; if (x == 10) { int y = 20; System.out.println(x va y: + x + +y); x = y*2; } y = 100; System.out.println(x: + x); } }

Phm vi v thi gian sng ca bin


Mc d cc khi c th lng nhau nhng khng th khai bo mt bin c tn ging nh bin phm vi bn ngoi class Scope Err{ public static void main(String args[]) { int x = 1, y; if (x == 1) { int y = 2; System.out.println(x va y: + x + +y); } } }

Chuyn i kiu t ng trong Java


Khi d liu kiu ny gn cho bin kiu khc, vic chuyn i kiu t ng xy ra nu tho hai iu kin sau
Hai kiu tng thch

Kiu ch bao hm kiu ngun Khi tho hai iu kin ny th s chuyn i m rng thc hin V d: kiu int ln lu gi tr byte nn khng cn c lnh p kiu

i vi s chuyn i m rng th cc kiu s tng thch vi nhau nhng khng tng thch vi char hoc boolean. Kiu char v boolean khng tng thch vi nhau

S p kiu
Mc d s chuyn i kiu t ng l c ch nhng khng . V d, khi ta mun gn gi tr int cho bin byte th khng chuyn i kiu t ng c to ra s chuyn i gia hai kiu khng tng thch, ta phi p kiu theo cch sau (kiu chuyn v) value V d: int a;

byte b, c;
b = (byte) a; c = (byte ) (b*2);

S p kiu
Nu value ln hn gii hn kiu chuyn v th n s rt gn v gii hn kiu chuyn v Nu kiu du phy ng chuyn v kiu s nguyn th phn thp phn s b b i V d: byte b1, b2; int i1, i2=276 ; double d = 286.125; b1 = (byte ) i2;

b2 = (byte) d;
i1 = (int) d;

i kiu t ng trong biu thc


Trong mt biu thc, cc kt qu trung gian i khi vt qu gii hn ca ton hng V d: byte a=60, b=50, c=200; int k=a*b/c ; Kt qu ca a*b=3000 vt qu kiu byte. gii quyt, Java t ng nng cc ton hng byte hay short ln int khi c lng biu thc S i kiu t ng i khi gy ra li lc bin dch.

V d:

byte b=20;
b=b*5; b= (byte) (b*5); //Li

Quy tc ca s i kiu t ng
Java nh ngha cc quy tc i kiu p dng cho biu thc nh sau Cc gi tr byte hay short c chuyn thnh int. Sau : Nu ton hng l long th biu thc chuyn thnh long Nu ton hng l float th biu thc chuyn thnh float

Nu ton hng l double th biu thc chuyn thnh double

Quy tc ca s i kiu t ng
V d: byte b; char c; short s; int i; float f;

double d, kq;
kq = (f*b) + (i/c) - (d*s);

Ton t
Java cung cp nhiu ton t, hu ht cc ton t c chia thnh 4 nhm: Ton t ton hc Ton t trn bit Ton t quan h

Ton t logic

Ton t ton hc
Ton t
+ * / % ++ -+=

ngha
Php cng Php tr Php nhn Php chia Php ly phn d khi chia Php cng thm 1 Php tr bt 1 Php cng bng

Ton t ton hc ch thao tc trn cc gi tr kiu s C th s dng trong kiu char (tng t int) Khng s dng cho kiu boolean

-= *= /= %=

Php tr bng Php nhn bng Php chia bng Php % bng

Ton t ton hc
V d: float f1 = 25.5f, f2 = 2.5f, f3, f4, f5, f6, f7; int i1 = 25, i2 = 2, i3, i4, i5;

i3 = i1/i2;
i4 = f1/i2; f3 = f1/i2; f4 = i1/i2; f5 = f1/f2;

Ton t ton hc
V d: float f1 = 25.5f, f2 = 2.5f, f3, f4, f5, f6, f7; int i1 = 25, i2 = 2, i3, i4, i5;

i5 = i1%i2;
f6 = f1%i2; f7 = f1%f2; i1 = i2++; i2++;

f1 = --f2;

Ton t trn bit


Java c cc ton t s dng thao tc trn cc bit ca cc gi tr kiu s nguyn. Chng c tm tt trong bng sau

Ton t
~ &

ngha
Php o Php v

| ^ >> <<

Php hoc Php hoc loi tr (xor) Php dch phi Php dch tri

Ton t bit dch tri


Ton t << l php di tt c cc bit trong mt gi tr sang tri n ln. C dng nh sau value << n Mi ln dch sang tri 1 bit, bit cao b y ra ngoi v mt i, thay vo l 1 bit 0 c a vo pha bn phi. Gi tr c tng ln gp i Java t ng chuyn cc gi tr kiu byte v short ln thnh int ri mi p dng ton t V d: byte x = 64, y; y = (byte) (x << 2); 0000 0000 0000 0000 0000 0000 0100 0000

Ton t bit dch phi


Ton t >> l php di tt c cc bit trong mt gi tr sang phi n ln. C dng nh sau value >> n Mi ln dch sang phi 1 bit, nu l s dng ta b sung bit 0 vo u, nu l s m, ta b sung bit 1 vo u. Gi tr gim i 1 na V d: int x = -8, y; y = x >> 2;

1111 1111 1111 1111 1111 1111 1111 1000


1111 1111 1111 1111 1111 1111 1111 1110

Ton t ?
? l ton t 3 ton hng, hot ng nh mt biu thc iu kin. Dng tng qut nh sau bt1 ? bt2 : bt3 Trong bt1 l biu thc logic cho ra gi tr kiu boolean Nu bt1 ng th bt2 c tnh, ngc li bt3 c tnh v cng l kt qu ca ton t V d: (7>5)? dat : Khong dat

u tin ca cc ton t
Cao nht () ++ [] -~ !

* +
>> > == & ^ | && || ?: =

/ >>> >= !=

%
>> < <=

You might also like