You are on page 1of 39

LP TRNH JAVA C BN

Chng 2

NGN NG LP TRNH JAVA


L Tn
B mn: Lp trnh my tnh

Ni dung chng 2
Tng quan v Java Dch v thc thi chng trnh Java Cng c lp trnh v chng trnh dch C php v ng ngha Cc kiu d liu nguyn thy Lp v i tng Khai bo v nhp xut d liu

2/39

2.1 Tng quan v Java

Java l ngn ng lp trnh hng i tng (nh C++) do Sun Microsystem a ra vo u thp nin 90 ca th k 20.

Chng trnh vit bng Java c th chy trn bt k h thng no c ci my o Java (JVM - Java Virtual Machine).

3/39

2.1 Tng quan v Java

My o Java (JVM - Java Virtual Machine):


Mt chng trnh vit bng Java s c bin dch ra m ca my o Java (m java bytecode).
My o Java chuyn m java bytecode thnh m my tng ng. Sun Microsystem chu trch nhim pht trin cc my o Java chy trn cc h iu hnh trn cc kin trc CPU khc nhau.

4/39

2.1 Tng quan v Java


Thng dch: Chng trnh ngun *.java c bin dch thnh tp tin *.class. Trnh thng dch thng dch thnh m my. c lp nn: Mt chng trnh vit bng ngn ng Java c th chy trn nhiu my tnh c h iu hnh khc nhau Hng i tng: Hng i tng trong Java tng t C++ nhng Java l mt ngn ng lp trnh hng i tng hon ton.

5/39

2.1 Tng quan v Java


a nhim - a lung: Java cho php nhiu tin trnh c th chy song song v tng tc vi nhau. Kh chuyn: Chng trnh vit bng Java c th chy c trn bt k my tnh, h iu hnh no c my o Java. H tr mnh cho vic pht trin ng dng: Cng ngh Java pht trin mnh nh Sun Microsystem cung cp nhiu cng c, th vin lp trnh phong ph

6/39

2.1 Tng quan v Java


Cc ng dng Java

ng dng Console: ng dng nhp xut ch vn bn tng t mn hnh Console ca MS-DOS. ng dng Applet: ng dng c th nhng v chy trong trang web ca mt trnh duyt web. ng dng Desktop dng giao din ha: Pht trin cc ng dng ha c gii quyt bng th vin AWT v JFC. ng dng Web: Java h tr mnh m i vi vic pht trin cc ng dng Web thng qua cng ngh J2EE (Java 2 Enterprise Edition). ng dng nhng: Java Sun a ra cng ngh J2ME h tr pht trin cc phn mm nhng.
7/39

2.2 Dch v thc thi chng trnh Java


Vit m ngun: Dng mt chng trnh son tho vit m ngun, lu li vi file tn c ui .java. Tn ca file phi t ging tn ca lp chnh trong chng trnh. Bin dch ra m my o: Dng trnh bin dch javac bin dch m ngun .java thnh m ca my o (java bytecode) c ui .class Thng dch v thc thi: Vic thng dch v thc thi dng lnh java.

8/39

2.2 Dch v thc thi chng trnh Java

V d minh ha: To chng trnh ngun


/*Chng trnh xut dng HelloWorld ra Console*/ package ch01; import java.util.*; class HelloWorldApp{ public static void main(String[] args){ //Xuat dong chu HelloWorld System.out.println(HelloWorld); } }

Lu li vi tn HelloWorldApp.java trong th mc ch01


9/39

2.2 Dch v thc thi chng trnh Java

Dng u tin khai bo gi cha chng trnh. Dng tip theo khai bo np cc lp s dng. Khai bo lp HelloWordApp phm vi ton cc Phng thc main() l im bt u thc thi mt ng dng. Li ch thch: Ngn ng Java h tr ba kiu ch thch sau:
/* text */: Vit ch thch trn nhiu dng // text: Vit ch thch trn mt dng /** documentation */: T ng pht sinh ti liu.

Du { v }: bt u v kt thc mt khi lnh. Du chm phy ; kt thc mt lnh. 10/39

2.3 Cng c lp trnh v chng trnh dch


J2SE: Download J2SE v ci t ln my tnh, cn cp nht ng dn PATH h thng n th mc cha chng trnh dch ca ngn ng java Vit m ngun java: Dng cng c JCreator LE v 5.0 ca hng XINOX Software.

11/39

2.3 Cng c lp trnh v chng trnh dch


Bc 1-To mt d n rng (Empty Project): Chn menu File \ New \ Project. Chn Empty project Next. Nhp tn project, chn Finish. Bc 2-To mt lp mi tn HelloWorldApp v a vo Project hin ti: Chn File \ New \ Class. Nhp tn lp l HelloWorldApp v chn Finish. Bc 3-Son tho m ngun: Ca s WorkSpace - Ca s son tho m ngun. Dch: Bm F7. Thc thi: Bm F5

12/39

2.4 C php v ng ngha

C php: tp cc lut xc nh chnh xc cch kt hp ca cc ch ci, cc ch s, v cc k hiu.


Cc lut c php c vit dng n gin, xc nh ngn ng hnh thc, gi l siu ngn ng (metalanguage).

Ng ngha: tp cc lut xc nh ngha cc lnh vit trong mt ngn ng lp trnh.

13/39

2.4 C php v ng ngha

Tn nh danh (Identifier): do ngi dng t


L chui cc ch ci, ch s, du gch di ( _ ), v du dollar ($). Tn phi bt u bi mt ch ci, du gch di ( _ ), hoc du dollar ($) Mt tn khng th l mt t kha, khng th l true, false, hoc null. Tn c th c di bt k.

Tn tham chiu mt lp, mt phng thc, mt trng (bin hoc hng), hoc mt gi
14/39

2.4 C php v ng ngha

Cc t kho ca Java

15/39

2.5 Cc kiu d liu nguyn thy

L cc kiu d liu c hiu lc mt cch t ng

16/39

2.5 Cc kiu d liu nguyn thy

Kch thc v min gi tr

17/39

2.5 Cc kiu d liu nguyn thy


Kiu s nguyn: byte, short, int, long. Mc nh l int. Lu i vi cc php ton trn s nguyn:

Nu hai ton hng kiu long kt qu kiu long. Mt trong hai ton hng khng phi long th c chuyn thnh long trc khi thc hin php ton. Nu hai ton hng u khng phi kiu long th php tnh s thc hin vi kiu int. Cc ton hng kiu byte, short s c chuyn sang kiu int trc khi thc hin php ton. Khng th chuyn bin kiu int v kiu boolean
18/39

2.5 Cc kiu d liu nguyn thy


Kiu s thc: float v double Khng c gi tr nh nht v ln nht. Chng c th m, dng, v cc m, v cc dng. Lu i vi cc php ton:

Mi ton hng u c kiu chm ng th php ton chuyn thnh php ton du chm ng. Nu c mt ton hng l double th cc ton hng cn li double trc khi thc hin php ton. Bin kiu float v double c th p chuyn sang kiu d liu khc tr kiu boolean.

19/39

2.5 Cc kiu d liu nguyn thy


Kiu

k t (char):

C kch thc l hai bytes Ch dng biu din cc k t trong b m Unicode. Nh vy kiu char trong java c th biu din tt c 216 = 65536 k t khc nhau. Gi tr mc nh cho mt bin kiu char l null.
20/39

2.5 Cc kiu d liu nguyn thy


Kiu

lun l (boolean):

Kiu boolean ch nhn mt trong hai gi tr: true hoc false. Trong java kiu boolean khng th chuyn thnh kiu s nguyn v ngc li. Gi tr mc nh ca kiu boolean l false.

21/39

2.6 Lp v i tng
Lp: l mt m t ca mt nhm cc i tng tng t nhau v thuc tnh (tp cc d liu) v hnh vi (tp cc phng thc). Ni cch khc, lp l mt khun mu ca mt i tng. V d: lp hnh ch nht, l khun mu ca mt hnh ch nht c th.

22/39

2.6 Lp v i tng

Khai bo (nh ngha) lp:


t_b_ngha class < Tn_lp>{ <kiu d liu> <field_1>; .. <kiu d liu> <field_m>; constructor method_1 .. method_n }
23/39

2.6 Lp v i tng
t_b_ngha: ch phm vi truy cp ca lp class: l t kha, s dng khai bo lp Tn_lp: l tn chng ta t cho lp field_1, field_2, ., field_m: cc thuc tnh, cc bin, hay cc thnh phn d liu ca lp. constructor: phng thc xy dng, c nhim v khi to i tng. method_1, method_2, , method_n: cc phng thc th hin cc thao tc x l, tc ng ln cc thnh phn d liu ca lp.

24/39

2.6 Lp v i tng
i tng: mt thc th c lin quan n ng cnh ca mt vn . Ni cch khc, i tng l mt trng hp c th ca lp. V d: Hnh ch nht ABCD, l mt i tng ca lp hnh ch nht. Phng thc: xc nh mt hnh vi ca mt lp. V d phng thc area, tnh din tch ca hnh ch nht. C php to i tng ca lp:

Tn_lp tn_i_tng = new Tn_lp();

25/39

2.6 Lp v i tng
Trong

Tn_lp: l tn ca lp m i tng thuc v tn_i_tng: l tn chng ta t cho i tng new: t kha, s dng gi phng thc constructor to i tng

26/39

2.7 Khai bo v nhp xut d liu


Khai bo: Mt pht biu lin kt mt tn vi mt trng, mt phng thc, mt lp, hoc mt gi. Bin: L mt v tr trong b nh m chng trnh c th tham chiu n qua mt tn, lu tr mt gi tr d liu c th thay i c. Khai bo:

t_b_ngha kiu_d_liu tn1, tn2, . . . ; //hoc t_b_ngha kiu_d_liu tn1 = gi_tr_1, . . . ;


27/39

2.7 Khai bo v nhp xut d liu


kiu_d_liu: tn ca kiu hoc lp t_b_ngha: cc t kho ca Java, ch phm vi tc dng ca bin. V d:

char ch;// Khai bo bin ch kiu char public char ch1 = a;// bin ch1 kiu char, gi tr ban u l a, phm vi ton cc String firstName; //Khai bo bin firstName thuc lp String

Khai bo bin bo cho my cp pht v tr nh lu tr mt gi tr ca kiu d liu

28/39

2.7 Khai bo v nhp xut d liu


Hng: L mt v tr trong b nh m chng trnh c th tham chiu n qua mt tn, lu tr mt gi tr d liu khng thay i. Khai bo hng:

t_b_ngha final kiu_d_liu tn_hng = LiteralValue;

V d:
final char ch = a;// Khai bo hng ch kiu char, c gi tr l a public final int id = 6;// Khai bo hng id kiu int, c phm vi ton cc 29/39

2.7 Khai bo v nhp xut d liu


Mt chui l mt dy cc k t t gia hai du ngoc kp. V d: Today and tomorrow, A, Cc tc v ca lp chui: Ni mt chui vo mt chui khc: ton t +, v d: String s = Today + and tomorrow; i mt gi tr s thnh chui: phng thc valueOf ca lp String. V d: String s = String.valueOf(123);// kt qu s = 123

30/39

2.7 Khai bo v nhp xut d liu


i mt chui thnh s, s dng phng thc parseXXX ca lp tng ng. V d int n = Integer.parseInt(123);// kt qu n = 123 So snh hai chui vi nhau, s dng phng thc equals ca lp String. V d boolean x = ABC.equals(ABC);// kt qu x = true

31/39

2.7 Khai bo v nhp xut d liu


Lnh gn: c s dng gn biu thc (expression) cho bin (variable) C php: variable = expression; V d:

x = 1; // Gn 1 cho x; bankinh = 1.0; // Gn 1.0 cho bankinh; a = 'A'; // Gn 'A' cho a; x = x + 1; // Ly x cng vi 1 ri gn vo x; c = Math.max(a, b); /* Gn gi tr ca li gi phng thc max(a, b) ca lp Math vo c;*/ 32/39

2.7 Khai bo v nhp xut d liu


Lnh xut mt chui ra mn hnh: phng thc print, c php nh sau: System.out.print(StringValue);/* Xut chui StringValue ra mn hnh v khng xung dng */ System.out.println(StringValue); /* Xut chui StringValue ra mn hnh v xung dng */ V d:

System.out.print(The answer is, );//Xut ra chui The answer is,


33/39

2.7 Khai bo v nhp xut d liu


Lnh nhp mt gi tr vo t bn phm: To cc i tng ca cc lp t cc lp nguyn thu hn S dng phng thc nhp d liu.

34/39

2.7 Khai bo v nhp xut d liu

V d: /* Khai bo inStream ca lp InputStreamReader*/


InputStreamReader inStream; /* Nhp d liu vo i tng inStream */ inStream = new InputStreamReader(System.in); BufferedReader inData = new BufferedReader(inStream); /* Nhp d liu vo i tng inData */ inData = new BuffredReader(new InputStreamReader(System.in)); // Lu tr mt dng vn bn vo bin oneLine String oneLine = inData.readLine(); 35/39

2.7 Khai bo v nhp xut d liu

S dng i tng Scanner: V d nhp hai s nguyn a v b v xut ra tng


import java.util.Scanner; public class InTong{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int a = s.nextInt(); int b = s.nextInt(); int c = a + b; System.out.print(Tong la: + c); } }

36/39

Cu hi v bi tp
1. S khc nhau gia m my v m Byte? 2. Cc cng on my o Java thc hin trong vic bin dch v thng dch l g? 3. Vit chng trnh xut dng ch Welcome to Java ra mn hnh. 4. Mi chng trnh Java u cha t nht bao nhiu phng thc? 5. Hy vit mt khai bo hng Java tn ZED s cho gi tr z. 6. Hy khai bo mt bin char tn l letter v mt bin String tn street.
37/39

Cu hi v bi tp
7. C bao nhiu k t c th c lu tr trong mt bin kiu char? 8. C bao nhiu k t trong mt xu (string) rng? 9. Mt bin thuc lp String c th c gn vo mt bin bin kiu char, ng hay sai? 10. S khc nhau gia chui t nhin computer v nh danh computer l g?

38/39

Cu hi v bi tp
11. u ra ca on m sau l g? (Tt c cc bin u thuc lp String)

street = Elm St.; address = 142B; city = Amaryllis; state = Ioma; streetAddress = address + + street; System.out.println(streetAddress); System.out.println(city); System.out.println(, + state);
39/39

You might also like