ch06 07 oop java

18
PH PHN II N II LP TRÌNH HƯ P TRÌNH HƯỚ NG Đ NG ĐỐ I TƯ I TƯỢNG NG GV. Ngô Công Th GV. Ngô Công Thng ng Bmôn Công ngh môn Công nghph phn m n mm Khoa Công ngh Khoa Công nghthông tin thông tin i gi i ging LT JAVA ng LT JAVA - Ph Phn 2 n 2,C ,Chương hương 6 GV. Ngô Công Th 6 GV. Ngô Công Thng ng 2 Chương Chương 6. 6. Đ Đố i tư i tượ ng v ng và lp 6.1. Khai b 6.1. Khai bá o l o lp 6.2. T 6.2. To c o cá c đ c đối t ư i t ượng ng 6.3. Truy nh 6.3. Truy nhp đ p đố i tư i tượ ng qua bi ng qua bi ế n tham chi n tham chi ếu 6.4. M 6.4. Mng đ ng đố i tư i tượ ng ng 6.5. Truy 6.5. Truyn đ n đố i tư i tượ ng cho phương th ng cho phương thc 6.6. Che gi 6.6. Che giu thông tin u thông tin 6.7. C 6.7. Các th c thà nh viên t nh viên tĩ nh nh 6.8. 6.8. Đ Đối t ư i t ượ ng v ng và lp h p hng ng 6.9. C 6.9. Các l c lp l p l ng nhau ng nhau i t i t p chương p chương 6 i gi i ging LT JAVA ng LT JAVA - Ph Phn 2 n 2,C ,Chương hương 6 GV. Ngô Công Th 6 GV. Ngô Công Thng ng 3 6 .1. Khai b .1. Khai bá o l o l p 6.1.1. C 6.1.1. Cú ph phá p khai b p khai bá o l o lp 6.1.2. 6.1.2. Đi Đi u khi u khin truy nh n truy nhp 6.1.3. 6.1.3. Đ Đị nh ngh nh nghĩ a c a cá c bi c biế n c n ca l a lp 6.1.4. 6.1.4. Đ Đị nh ngh nh nghĩ a c a cá c phương th c phương thc c c ca l a lp 6.1.5. V 6.1.5. Ví dvkhai b khai bá o l o lp i gi i ging LT JAVA ng LT JAVA - Ph Phn 2 n 2,C ,Chương hương 6 GV. Ngô Công Th 6 GV. Ngô Công Thng ng 4 6.1.1. C 6.1.1. Cú ph phá p khai b p khai bá o l o l p class TenLop class TenLop { //Khai b //Khai bá o c o các th c thành viên d nh viên dli liu //v //và phương th phương thc c c ca l a lp } Không có du chm phy

Upload: vitalify-asia

Post on 01-Jul-2015

254 views

Category:

Documents


2 download

DESCRIPTION

OOP java

TRANSCRIPT

Page 1: Ch06 07 oop java

PHPHẦẦN IIN IILLẬẬP TRÌNH HƯP TRÌNH HƯỚỚNG ĐNG ĐỐỐI TƯI TƯỢỢNGNG

GV. Ngô Công ThGV. Ngô Công ThắắngngBBộộ môn Công nghmôn Công nghệệ phphầần mn mềềmm

Khoa Công nghKhoa Công nghệệ thông tinthông tin

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 22

Chương Chương 6.6. Đ Đốối tưi tượợng vng vàà llớớpp6.1. Khai b6.1. Khai bááo lo lớớpp6.2. T6.2. Tạạo co cáác đc đốối tưi tượợngng6.3. Truy nh6.3. Truy nhậập đp đốối tưi tượợng qua bing qua biếến tham chin tham chiếếuu6.4. M6.4. Mảảng đng đốối tưi tượợngng6.5. Truy6.5. Truyềền đn đốối tưi tượợng cho phương thng cho phương thứứcc6.6. Che gi6.6. Che giấấu thông tinu thông tin6.7. C6.7. Cáác thc thàành viên tnh viên tĩĩnhnh6.8.6.8. Đ Đốối tưi tượợng vng vàà llớớp hp hằằngng6.9. C6.9. Cáác lc lớớp lp lồồng nhaung nhauBBàài ti tậập chương p chương 66

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 33

66.1. Khai b.1. Khai bááo lo lớớpp

6.1.1. C6.1.1. Cúú phphááp khai bp khai bááo lo lớớpp6.1.2.6.1.2. Đi Điềều khiu khiểển truy nhn truy nhậậpp6.1.3.6.1.3. Đ Địịnh nghnh nghĩĩa ca cáác bic biếến cn củủa la lớớpp6.1.4.6.1.4. Đ Địịnh nghnh nghĩĩa ca cáác phương thc phương thứức cc củủa la lớớpp6.1.5. V6.1.5. Víí ddụụ vvềề khai bkhai bááo lo lớớpp

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 44

6.1.1. C6.1.1. Cúú phphááp khai bp khai bááo lo lớớpp

class TenLopclass TenLop{{

//Khai b//Khai bááo co cáác thc thàành viên dnh viên dữữ liliệệuu//v//vàà phương th phương thứức cc củủa la lớớpp

}}Không có dấu

chấm phẩy

Page 2: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 55

6.1.2.6.1.2. Đi Điềều khiu khiểển truy nhn truy nhậậpp

ll Java cJava cóó ccáác modifier đc modifier đểể đi điềều khiu khiểển vin việệc c truy nhtruy nhậập dp dữữ liliệệu, u, phương thphương thứức vc vàà llớớp: p: public ddùùng cho dng cho dữữ liliệệu, u, phương thphương thứức vc vààllớớp; p; private chchỉỉ ddùùng cho dng cho dữữ liliệệu vu vàà phương thphương thứức.c.

l public cho phcho phéép truy nhp truy nhậập lp lớớp, dp, dữữ liliệệu vu vàà phương thphương thứức tc từừ bbấất kt kỳỳ llớớp np nàào.o.

l private chchỉỉ cho phcho phéép truy nhp truy nhậập dp dữữ liliệệu vu vàà phương thphương thứức tc từừ bên trong lbên trong lớớp.p.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 66

6.1.2.6.1.2. Đi Điềều khiu khiểển truy nhn truy nhậậpp

ll CCáác tc từừ khkhóóa modifier đưa modifier đượợc đc đặặt trưt trướớc cc cáác c khai bkhai bááo do dữữ liliệệu, u, phương thphương thứức vc vàà llớớp.p.

ll NNếếu không du không dùùng modifier nng modifier nàào tho thìì mmặặc đc địịnh nh ddữữ liliệệu vu vàà phương th phương thứức cc cóó ththểể truy nhtruy nhậập p ttừừ ttấất ct cảả ccáác lc lớớp trong cp trong cùùng package.ng package.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 77

6.1.3.6.1.3. Đ Địịnh nghnh nghĩĩa ca cáác bic biếến cn củủa la lớớpp

ll DDữữ liliệệu cu củủa la lớớp chp chíính lnh làà ccáác bic biếến cn củủa la lớớp. p. CCáác bic biếến cn củủa la lớớp đưp đượợc chia thc chia thàành hai lonh hai loạại, i, bibiếến thn thựực thc thểể vvàà bibiếến tn tĩĩnh. Binh. Biếến thn thựực thc thểể llààbibiếến cn củủa riêng ta riêng từừng đng đốối tưi tượợng, bing, biếến tn tĩĩnh lnh lààbibiếến cn củủa ca cảả llớớp đp đốối tưi tượợng, dng, dùùng chung ng chung cho tcho tấất ct cảả ccáác đc đốối tưi tượợng.ng.

ll CCúú phphááp khai bp khai bááo bio biếến cn củủa la lớớp gip giốống như ng như khai bkhai bááo bio biếến thông thưn thông thườờng.ng.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 88

6.1.3.6.1.3. Đ Địịnh nghnh nghĩĩa ca cáác bic biếến cn củủa la lớớpp

ll KhKháác vc vớới C++:i C++:ll CCáác bic biếến cn củủa la lớớp (cp (cảả bibiếến thn thựực thc thểể vvàà bibiếến n

ttĩĩnh) phnh) phảải khai bi khai bááo vo vàà đ địịnh nghnh nghĩĩa ngay trong a ngay trong mô tmô tảả llớớp.p.

l Khi khai báo biến lớp có thể khởi tạo giá trị ban đầu cho chúng..

Page 3: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 99

6.1.4.6.1.4. Đ Địịnh nghnh nghĩĩa ca cáác phương thc phương thứức c ccủủa la lớớpp

ll CCáác phương thc phương thứức cc củủa la lớớp php phảải đưi đượợc đc địịnh nghnh nghĩĩa a ngay trong mô tngay trong mô tảả llớớp.p.

ll HHààm tm tạạo lo làà mmộột phương tht phương thứức đc đặặc bic biệệt ct củủa la lớớp p đưđượợc dc dùùng đng đểể ttạạo đo đốối tưi tượợng cng củủa la lớớp. Hp. Hààm tm tạạo o trong Java gitrong Java giốống trong C++, chng trong C++, chỉỉ khkháác lc làà không không đưđượợc thc thựực hic hiệện tn tựự đ độộng mng màà phphảải gi gọọi. Trong li. Trong lớớp p ccóó ththểể ccóó nhinhiềều hu hààm tm tạạo cho chồồng nhau, mng nhau, mỗỗi hi hààm m ttạạo cho ta mo cho ta mộột ct cáách tch tạạo đo đốối tưi tượợng cng củủa la lớớp.p.

ll KhKháác vc vớới C++, trong Java không ci C++, trong Java không cóó hhààm hm hủủy, y, bbởởi vi vìì công vicông việệc hc hủủy đy đốối tưi tượợng vng vàà ddọọn dn dẹẹp bp bộộnhnhớớ đư đượợc JVM thc JVM thựực hic hiệện tn tựự đ độộng.ng.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 1010

6.1.5. V6.1.5. Víí ddụụ vvềề khai bkhai bááo lo lớớpppublic class circlepublic class circle{{

private double radius = 1.0;private double radius = 1.0;public circle()public circle(){ }{ }puplic circle(double newRadius) //Ham tao mot doi sopuplic circle(double newRadius) //Ham tao mot doi so{{

radius = newRadius;radius = newRadius;}}//Tinh dien tich//Tinh dien tichpublic double findArea()public double findArea(){{

return 3.14159 * radius * radius;return 3.14159 * radius * radius;}}

}}

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 1111

6.2. T6.2. Tạạo co cáác đc đốối tưi tượợngng

6.2.1. Bi6.2.1. Biếến tham chin tham chiếếu vu vàà kikiểểu tham chiu tham chiếếuu6.2.2. C6.2.2. Cúú phphááp tp tạạo đo đốối tưi tượợngng6.2.3. Bi6.2.3. Biếến kin kiểểu cơ bu cơ bảản vn vàà bibiếến kin kiểểu tham chiu tham chiếếuu6.2.4. Gi6.2.4. Giáá trtrịị nullnull

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 1212

6.2.1. Bi6.2.1. Biếến tham chin tham chiếếu vu vàà kikiểểu u tham chitham chiếếuu

ll Trong Java, lTrong Java, lớớp đưp đượợc coi lc coi làà kikiểểu tham chiu tham chiếếu. u. MMộột bit biếến cn cóó kikiểểu lu lớớp đưp đượợc gc gọọi li làà bibiếến tham n tham chichiếếu đu đốối tưi tượợng (khng (kháác C++, bic C++, biếến cn cóó kikiểểu lu lớớp lp làà đđốối tưi tượợng). Bing). Biếến tham chin tham chiếếu đu đốối tưi tượợng cng cóó ththểểchchứứa tham chia tham chiếếu tu tớới đi đốối tương ci tương củủa la lớớp.p.

ll CCúú phphááp khai bp khai bááo bio biếến tham chin tham chiếếu đu đốối tưi tượợng ng như saunhư sau::

TenLop TenBienThamChieu;TenLop TenBienThamChieu;VVíí ddụụ: Circle c1;: Circle c1;

Page 4: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 1313

6.2.2. C6.2.2. Cúú phphááp tp tạạo đo đốối tưi tượợngng

ll ĐĐểể ttạạo đo đốối tưi tượợng cng củủa ma mộột lt lớớp ta php ta phảải gi gọọi i hhààm tm tạạo co củủa la lớớp bp bằằng tong toáán tn tửử newnew

new TenLop(DS Các đối số);

VVíí ddụụ: new Circle(5);: new Circle(5);ll ToToáán tn tửử new tnew tạạo đo đốối tưi tượợng vng vàà trtrảả vvềề tham tham

chichiếếu tu tớới đi đốối tưi tượợng, tham ching, tham chiếếu nu nàày phy phảải i đđặặt trong mt trong mộột bit biếến tham chin tham chiếếu.u.VVíí ddụụ: Circle c = new Circle();: Circle c = new Circle();

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 1414

6.2.3. Bi6.2.3. Biếến kin kiểểu cơ bu cơ bảản vn vàà bibiếến n kikiểểu tham chiu tham chiếếuu

ll BiBiếến kin kiểểu cơ bu cơ bảản chn chứứa gia giáá trtrịị ccủủa kia kiểểu cơ u cơ bbảản, bin, biếến kin kiểểu tham chiu tham chiếếu chu chứứa gia giáá trtrịị llààtham chitham chiếếu tu tớới nơi đi nơi đểể đ đốối tưi tượợng.ng.

Biến kiểu cơ bản int i = 1; 1i

Biến kiểu tham chiếu Circle c; referencec c:Circle

radius = 1

Tạo dùng new Circle(1);

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 1515

6.2.3. Bi6.2.3. Biếến kin kiểểu cơ bu cơ bảản vn vàà bibiếến n kikiểểu tham chiu tham chiếếuu

ll Khi gKhi gáán mn mộột bit biếến cho mn cho mộột bit biếến thn thìì gigiáá trtrịịccủủa bia biếến nn nàày đưy đượợc đưa sang bic đưa sang biếến kia, hai n kia, hai bibiếến cn cóó ccùùng ging giáá trtrịị..

ll VVớới bii biếến kin kiểểu tham chiu tham chiếếu, vu, vìì gigiáá trtrịị llàà tham tham chichiếếu nên sau khi gu nên sau khi gáán hai bin hai biếến cn cùùng tham ng tham chichiếếu tu tớới mi mộột đt đốối tưi tượợng,ng, đ đểể llạại mi mộột đt đốối i tưtượợng không đưng không đượợc tham chic tham chiếếu. JVM su. JVM sẽẽ ttựự đđộộng tng tììm vm vàà gigiảải phi phóóng cng cáác vc vùùng nhng nhớớ không đưkhông đượợc tham chic tham chiếếu nu nữữa.a.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 1616

6.2.4. Gi6.2.4. Giáá trtrịị nullnull

ll NNếếu mu mộột bit biếến kin kiểểu tham chiu tham chiếếu không tham u không tham chichiếếu tu tớới đi đốối tưi tượợng nng nàào tho thìì nnóó chchứứa gia giáá trtrịịnull.null.

ll Java sJava sẽẽ ggáán gin giáá trtrịị mmặặc đc địịnh lnh làà null cho null cho bibiếến cn cóó kikiểểu tham chiu tham chiếếu.u.

ll Java tJava tựự đ độộng ging giảải phi phóóng vng vùùng nhng nhớớ ccủủa đa đốối i tưtượợng không đưng không đượợc tham chic tham chiếếu, bu, bởởi vi vậậy, y, nnếếu không cu không cầần dn dùùng tng tớới đi đốối tưi tượợng nng nữữa, ta a, ta cho bicho biếến tham chin tham chiếếu tu tớới đi đốối tưi tượợng đng đóó bbằằng ng null.null.

Page 5: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 1717

6.3. Truy nh6.3. Truy nhậập đp đốối tưi tượợng qua bing qua biếến n tham chitham chiếếuu

ll Sau khi mSau khi mộột đt đốối tưi tượợng đưng đượợc tc tạạo ta co ta cóó ththểểtruy nhtruy nhậập dp dữữ liliệệu vu vàà ggọọi ci cáác phương thc phương thứức c ccủủa na nóó qua biqua biếến tham chin tham chiếếu tu tớới ni nóó..

ll CCúú phphááp:p:TenBienThamChieu.BienTenBienThamChieu.PThuc(DS Đối số)

l Ví dụ:Circle c1 = new Circle(1.5);c1.findArea();

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 1818

6.3. Truy nh6.3. Truy nhậập đp đốối tưi tượợng qua ng qua bibiếến tham chin tham chiếếuu

ll Khi đKhi đốối tưi tượợng đưng đượợc tc tạạo, o, bên trong đbên trong đốối tưi tượợng ng luôn cluôn cóó mmộột bit biếến tham chin tham chiếếu tu tớới chi chíính đnh đốối tưi tượợng ng đđóó. Bi. Biếến tham chin tham chiếếu nu nàày cy cóó tên ltên làà ttừừ khkhóóa a this..

ll NNếếu mu mộột phương tht phương thứức cc cóó tên tham stên tham sốố trtrùùng vng vớới i tên bitên biếến cn củủa la lớớp thp thìì trong phương th trong phương thứức ta cc ta cóó ththểểtruy nhtruy nhậập bip biếến cn củủa la lớớp qua bip qua biếến n this..

VVíí ddụụ: L: Lớớp Circle cp Circle cóó mmộột bit biếến Radius đn Radius đểể chchứứa ba báán n kkíính, hnh, hààm tm tạạo Circle(doube Radius) co Circle(doube Radius) cóó tên tham stên tham sốốtrtrùùng vng vớới tên bii tên biếến cn củủa la lớớp =p => > ĐĐểể ggáán gin giáá trtrịị ccủủa tham a tham ssốố cho bicho biếến ln lớớp ta php ta phảải di dùùng this.Radius=Radiusng this.Radius=Radius

ll BiBiếến this cn this cũũng cng cóó ththểể ddùùng trong hng trong hààm tm tạạo đo đểể ggọọi i mmộột ht hààm tm tạạo kho kháác cc cùùng lng lớớp.p.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 1919

6.4. M6.4. Mảảng đng đốối tưi tượợngngll MMảảng cng cáác đc đốối tưi tượợng thng thựực chc chấất lt làà mmảảng cng cáác bic biếến n

tham chitham chiếếu tu tớới đi đốối tưi tượợng.ng.ll ĐĐểể ccóó mmảảng cng cáác đc đốối tưi tượợng ta phng ta phảải khai bi khai bááo o

mmảảng cng cáác bic biếến tham chin tham chiếếu tu tớới đi đốối tưi tượợng rng rồồi ti tạạo o ccáác đc đốối tưi tượợng vng vàà ggáán tham chin tham chiếếu cho cu cho cáác phc phầần n ttửử ccủủa ma mảảng.ng.VVíí ddụụ::-- TTạạo mo mảảng 10 bing 10 biếến tham chin tham chiếếu tu tớới li lớớp Circle:p Circle:

Circle[ ] mang = new Circle[10];Circle[ ] mang = new Circle[10];-- TTạạo 1o 10 0 đđốối tưi tượợng vng vàà cho ccho cáác bic biếến tham chin tham chiếếu tu tớới i

chchúúng:ng:for(i=0;i<mang.length;i++) mang[i] = new Circle();for(i=0;i<mang.length;i++) mang[i] = new Circle();

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 2020

6.5. Truy6.5. Truyềền đn đốối tưi tượợng chong chophương thphương thứứcc

ll GiGiốống như mng như mảảng, truyng, truyềền đn đốối tưi tượợng cho ng cho phương thphương thứức thc thựực chc chấất lt làà truytruyềền tham n tham chichiếếu cu củủa đa đốối tưi tượợng cho phương thng cho phương thứức. c. BBởởi vi vậậy trong phương thy trong phương thứức cc cóó ththểể ttáác c đđộộng tng tớới đi đốối tưi tượợng ging giốống như ng như ởở bên ngobên ngoàài i phương thphương thứức.c.

ll ĐĐểể ccóó ththểể truytruyềền đn đốối tương cho phương i tương cho phương ththứức thc thìì khi đ khi địịnh nghnh nghĩĩa phương tha phương thứức phc phảải i khai bkhai bááo tham so tham sốố llàà tham chitham chiếếu tu tớới đi đốối i tưtượợng.ng.

Page 6: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 2121

6.6. Che gi6.6. Che giấấu thông tinu thông tin

ll ĐĐểể đ đảảm bm bảảo nguyên to nguyên tắắc bao gc bao góói thông tin, di thông tin, dữữliliệệu cu củủa la lớớp php phảải li làà private.private.

ll Khi dKhi dữữ liliệệu cu củủa la lớớp đp đểể ởở private thprivate thìì bên ngobên ngoàài i llớớp không thp không thểể truy nhtruy nhậập trp trựực tic tiếếp tp tớới di dữữ liliệệu cu củủa a đđốối tưi tượợng thông qua tham ching thông qua tham chiếếu tu tớới đi đốối tưi tượợng.ng.

ll ĐĐểể cho phcho phéép bên ngop bên ngoàài li lớớp cp cóó ththểể llấấy dy dữữ liliệệu vu vàà thay đthay đổổi di dữữ liliệệu cu củủa đa đốối tưi tượợng thng thìì trong mô ttrong mô tảảllớớp php phảải ci cóó phương th phương thứức trc trảả vvềề ddữữ liliệệu lu lớớp vp vààthithiếết lt lậập gip giáá trtrịị mmớới cho di cho dữữ liliệệu lu lớớp.p.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 2222

6.6. Che gi6.6. Che giấấu thông tinu thông tin

ll Phương thPhương thứức trc trảả vvềề ddữữ liliệệu lu lớớp đưp đượợc gc gọọi i llàà getter getter (mutator), (mutator), phương thphương thứức thic thiếết lt lậập p gigiáá trtrịị mmớới cho di cho dữữ liliệệu lu lớớp đưp đượợc gc gọọi li làà setter (accessetter (accessor).sor).

ll Phương thPhương thứức getter thưc getter thườờng cng cóó tên ltên làà::ll getTenBiengetTenBienll isTenBien nisTenBien nếếu kiu kiểểu tru trảả vvềề llàà boolean.boolean.

ll Phương thPhương thứức setter thưc setter thườờng cng cóó tên ltên làà::ll setTenBiensetTenBien

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 2323

6.7. C6.7. Cáác thc thàành viên tnh viên tĩĩnhnh

ll GiGiốống như Cng như C++, c++, cáác bic biếến vn vàà phương th phương thứức cc củủa a llớớp đưp đượợc chia thc chia thàành hai lonh hai loạại:i:ll BiBiếến vn vàà phương th phương thứức thc thựực thc thểểll BiBiếến vn vàà phương th phương thứức tc tĩĩnhnh

ll BiBiếến vn vàà phương th phương thứức thc thựực thc thểể llàà ccủủa đa đốối tưi tượợng, ng, chchúúng gng gắắn vn vớới đi đốối tưi tượợng.ng.

ll BiBiếến vn vàà phương th phương thứức tc tĩĩnh lnh làà ccủủa la lớớp,p, đư đượợc dc dùùng ng chung bchung bởởi ti tấất ct cảả ccáác đc đốối tưi tượợng cng củủa la lớớp. Np. Nếếu mu mộột t đđốối tưi tượợng thay đng thay đổổi bii biếến tn tĩĩnh thnh thìì ccáác đc đốối tưi tượợng ng tưtượợng khng kháác cc cùùng lng lớớp sp sẽẽ bbịị ảảnh hưnh hưởởng.ng.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 2424

6.7. C6.7. Cáác thc thàành viên tnh viên tĩĩnhnh

ll ĐĐểể khai bkhai bááo bio biếến vn vàà phương th phương thứức tc tĩĩnh ta nh ta đđặặt tt từừ khkhóóa static trong khai ba static trong khai bááo bio biếến vn vàà phương thphương thứức.c.private static int numberOfObjects;public static int getNumberOfObjects(){ }

l Để khai báo hằng của lớp, ta thêm từkhóa final trong khai báo biến tĩnh. Ví dụ:private final static double PI = 3.1515;

Page 7: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 2525

6.7. C6.7. Cáác thc thàành viên tnh viên tĩĩnhnh

ll Phương thPhương thứức thc thựực thc thểể đư đượợc gc gọọi theo ci theo cúúphphááp sau:p sau:BienThamChieuDT.TenPhuongThuc()

ll Phương thPhương thứức tc tĩĩnh cnh cóó ththểể đư đượợc gc gọọi theo i theo hai chai cáách:ch:BienThamChieuDT.TenPhuongThuc()TenLop.TenPhuongThuc()

ll ChChỉỉ nên gnên gọọi phương thi phương thứức tc tĩĩnh dnh dùùng tên ng tên llớớp.p.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 2626

6.8.6.8. Đ Đốối tưi tượợng vng vàà llớớp p hhằằngngll MMộột đt đốối tưi tượợng mng màà ddữữ liliệệu cu củủa na nóó không thkhông thểể thay thay đđổổi ti từừ khi sinh ra đư khi sinh ra đượợc lc làà đ đốối tưi tượợng hng hằằng vng vàà llớớp p ccủủa na nóó đư đượợc gc gọọi li làà llớớp hp hằằng.ng.

ll ĐĐểể ccóó llớớp vp vàà đ đốối tưi tượợng hng hằằng chng chỉỉ ccầần cho tn cho tấất ct cảảddữữ liliệệu lu làà private vprivate vàà bbỏỏ ttấất ct cảả ccáác phương thc phương thứức c setter.setter.

ll Lưu ýLưu ý: M: Mộột lt lớớp cp cóó ttấất ct cảả ddữữ liliệệu lu làà private vprivate vààkhông ckhông cóó phương th phương thứức setter chưa chc setter chưa chắắc đã lc đã lààllớớp hp hằằng, vng, vìì nnếếu phương thu phương thứức getter mc getter màà trtrảả vvềềtham chitham chiếếu tu tớới di dữữ liliệệu lu lớớp thp thìì vvẫẫn cn cóó ththểể thay đ thay đổổi i đưđượợc.c.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 2727

6.9. C6.9. Cáác lc lớớp lp lồồng nhaung nhaull KhKháác vc vớới C++, Java cho phi C++, Java cho phéép mô tp mô tảả mmộột lt lớớp bên p bên

trong mô ttrong mô tảả mmộột lt lớớp khp kháác.c. Đây đư Đây đượợc gc gọọi li làà ssựựllồồng nhau cng nhau củủa ca cáác lc lớớp.p.

ll LLớớp bên trong mp bên trong mộột lt lớớp khp kháác cc cóó ccáác đc đặặc đic điểểm m sau:sau:ll CCóó ththểể truy nhtruy nhậập bip biếến vn vàà phương th phương thứức cc củủa la lớớp ngop ngoàài i

chchứứa na nóó..ll CCóó ththểể khai bkhai bááo lo làà public, private vpublic, private vàà protected giprotected giốống ng

như cnhư cáác thc thàành viên cnh viên củủa la lớớp ngop ngoàài.i.ll CCóó ththểể khai bkhai bááo lo làà static. Nstatic. Nếếu lu lớớp trong lp trong làà static thstatic thìì

không thkhông thểể truy nhtruy nhậập cp cáác thc thàành viên không phnh viên không phảải ti tĩĩnh nh ccủủa la lớớp ngop ngoàài.i.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 6 GV. Ngô Công Th6 GV. Ngô Công Thắắngng 2828

6.9. C6.9. Cáác lc lớớp lp lồồng nhaung nhau

ll LLớớp bên trong mp bên trong mộột lt lớớp khp kháác cc cóó ccáác đc đặặc c điđiểểm sau:m sau:ll ĐĐốối tưi tượợng cng củủa la lớớp trong cp trong cóó ththểể ttạạo bên trong o bên trong

llớớp ngop ngoàài hoi hoặặc bên trong mc bên trong mộột lt lớớp khp kháác.c.ll NNếếu tu tạạo trong lo trong lớớp khp kháác thc thìì theo ctheo cúú phphááp sau:p sau:

ll NNếếu lu lớớp bên trong không php bên trong không phảải static thi static thìì phphảải ti tạạo o đđốối tưi tượợng lng lớớp ngop ngoàài trưi trướớc, c, sau đsau đóó ddùùng:ng:

TenLopNgoai.TenLopTrong TenBien = DoiTuongLopNgoai. new TenLopTrong();

ll NNếếu lu lớớp bên trong lp bên trong làà static thstatic thìì chchỉỉ ccầần dn dùùng cng cúúphphááp sau:p sau:

TenLopNgoai.TenLopTrong TenBien = TenLopNgoai. new TenLopTrong();

Page 8: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 11

Chương Chương 7. Xâu ký t7. Xâu ký tựự

7.1. Xâu ký t7.1. Xâu ký tựự trong Javatrong Java7.2. L7.2. Lớớp Stringp String7.3. L7.3. Lớớp Characterp Character7.4. L7.4. Lớớp StringBufferp StringBuffer7.5. L7.5. Lớớp StringTokenizerp StringTokenizerBBàài ti tậập chương p chương 77

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 22

77.1. Xâu ký t.1. Xâu ký tựự trong Javatrong Javall MMộột xâu ký tt xâu ký tựự llàà mmộột dãy ct dãy cáác ký tc ký tựự. Kh. Kháác vc vớới i

C++, trong Java xâu ký tC++, trong Java xâu ký tựự không phkhông phảải li làà mmảảng ng ccáác ký tc ký tựự mmàà llàà mmộột đt đốối tưi tượợng.ng.

ll Java cJava cóó 3 l3 lớớp xâu ký tp xâu ký tựự đư đượợc dc dùùng đng đểể lưu tr lưu trữữ vvààxxửử lý clý cáác xâu ký tc xâu ký tựự: L: Lớớp String, lp String, lớớp StringBuffer p StringBuffer vvàà llớớp StringTokenizer.p StringTokenizer.

ll LLớớp String đưp String đượợc dc dùùng đng đểể ttạạo ra co ra cáác xâu ký tc xâu ký tựự ccốố đđịịnh, không thnh, không thểể thay đ thay đổổi đưi đượợc. Lc. Lớớp StringBuffer p StringBuffer đưđượợc dc dùùng đng đểể ttạạo ra co ra cáác xâu ký tc xâu ký tựự ccóó ththểể thay thay đđổổi đưi đượợc. Lc. Lớớp StringTokenizer đưp StringTokenizer đượợc dc dùùng đng đểể lưu trlưu trữữ ccáác xâu ký tc xâu ký tựự vvàà ttáách ra cch ra cáác xâu con.c xâu con.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 33

7.2. L7.2. Lớớp Stringp String

ll LLớớp java.p java.lang.Stringlang.String đư đượợc tc tựự đ độộng nng nạạp p vvàào trong mo trong mọọi chương tri chương trìình java => không nh java => không ccầần dn dùùng lng lệệnh nnh nạạp (import) lp (import) lớớp.p.

ll LLớớp String cp String cóó nhinhiềều hu hààm tm tạạo cho pho cho phéép tp tạạo o ccáác đc đốối tưi tượợng xâu ký tng xâu ký tựự theo nhitheo nhiềều cu cáách ch khkháác nhau vc nhau vàà nhinhiềều phương thu phương thứức dc dùùng đng đểểllấấy ty từừng ký tng ký tựự ccủủa xâu, so sa xâu, so sáánh xâu, tnh xâu, tììm m xâu con, txâu con, táách xâu conch xâu con……

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 44

String

+String() +String(value: String) +String(value: char[]) +charAt(index: int): char +compareTo(anotherString: String): int +compareToIgnoreCase(anotherString: String): int +concat(anotherString: String): String +endsWithSuffixe(suffix: String): boolean +equals(anotherString: String): boolean +equalsIgnoreCase(anotherString: String): boolean +indexOf(ch: int): int +indexOf(ch: int, fromIndex: int): int +indexOf(str: String): int +indexOf(str: String, fromIndex: int): int +intern(): String +regionMatches(toffset: int, other: String, offset: int, len: int): boolean +length(): int +replace(oldChar: char, newChar: char): String +startsWith(prefix: String): boolean +subString(beginIndex: int): String +subString(beginIndex: int, endIndex: int): String +toCharArray(): char[] +toLowerCase(): String +toString(): String +toUpperCase(): String +trim(): String +copyValueOf(data: char[]): String +valueOf(c: char): String +valueOf(data: char[]): String +valueOf(d: double): String +valueOf(f: float): String +valueOf(i: int): String +valueOf(l: long): String

Page 9: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 55

7.2. L7.2. Lớớp Stringp String7.2.1. T7.2.1. Tạạo xâu ký to xâu ký tựự llớớp Stringp String7.2.2. L7.2.2. Lấấy chiy chiềều du dàài vi vàà ttừừng ký tng ký tựự ccủủa xâua xâu7.2.3. N7.2.3. Nốối ci cáác xâuc xâu7.2.4. T7.2.4. Táách cch cáác xâu conc xâu con7.2.5. So s7.2.5. So sáánh xâunh xâu7.2.6. Chuy7.2.6. Chuyểển đn đổổi xâui xâu7.2.7. T7.2.7. Tììm ký tm ký tựự vvàà xâu con trong mxâu con trong mộột xâut xâu7.2.8. Chuy7.2.8. Chuyểển đn đổổi gii giữữa ma mảảng ký tng ký tựự vvàà xâuxâu7.2.9. Chuy7.2.9. Chuyểển cn cáác ký tc ký tựự vvàà gigiáá trtrịị ssốố ththàành đnh đốối i

tưtượợng xâu ký tng xâu ký tựựBBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 66

7.2.1. T7.2.1. Tạạo xâu ký to xâu ký tựự llớớp Stringp String

ll LLớớp String cp String cóó nhinhiềều hu hààm tm tạạo đo đểể ttạạo đo đốối i tưtượợng xâu ký tng xâu ký tựự, hay d, hay dùùng nhng nhấất lt làà hhààm tm tạạo o String(HString(Hằằng xâu):ng xâu):String BienXau = new String(HString BienXau = new String(Hằằng xâu);ng xâu);hohoặặccString BienXau = HString BienXau = Hằằng xâu;ng xâu;

ll VVíí ddụụ::String strVar = new String(String strVar = new String(““DHNN1 HNDHNN1 HN””););

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 77

7.2.1. T7.2.1. Tạạo xâu ký to xâu ký tựự llớớp Stringp String

ll MMộột đt đốối tưi tượợng xâu ký tng xâu ký tựự String sau khi tString sau khi tạạo o không thkhông thểể thay đ thay đổổi đưi đượợc, tc, tứức lc làà nnộội dung ci dung củủa na nóó không thay đkhông thay đổổi đưi đượợc.c.

ll VVíí ddụụ::String s = new String(String s = new String(““JavaJava””););s = "HTML";s = "HTML";

Khi gKhi gáán s = n s = ““HTMLHTML”” ttạạo ra mo ra mộột đt đốối tưi tượợng xâu ng xâu mmớới ci cóó nnộội dung li dung làà ““HTMLHTML”” vvàà ggáán tham chin tham chiếếu u ttớới s,i s, còn đ còn đốối tưi tượợng xâu cng xâu cóó nnộội dung li dung làà ““JavaJava”” không đưkhông đượợc tham chic tham chiếếu nu nữữa sa sẽẽ bbịị hhủủy.y.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 88

7.2.2. L7.2.2. Lấấy chiy chiềều du dàài vi vàà ttừừng ký tng ký tựựccủủa xâua xâu

ll ĐĐểể llấấy chiy chiềều du dàài mi mộột xâu ký tt xâu ký tựự ta dta dùùng ng phương thphương thứức length(c length())

ll ĐĐểể llấấy ty từừng ký tng ký tựự ccủủa xâu ta da xâu ta dùùng phương ng phương ththứức charAt(c charAt(index), tronindex), trong đg đóó index cindex cóó gigiáátrtrịị ttừừ 0 0 đđếến chin chiềều du dàài xâu tri xâu trừừ 1.1.

ll VVíí ddụụ::String s = "Welcome";String s = "Welcome";s.length() cho gis.length() cho giáá trtrịị 77s.charAt(1) cho ký ts.charAt(1) cho ký tựự ‘‘ee’’

Page 10: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 99

7.2.3. N7.2.3. Nốối ci cáác xâuc xâu

ll ĐĐểể nnốối hai hoi hai hoặặc nhic nhiềều xâu ký tu xâu ký tựự ta cta cóó ththểểddùùng phương thng phương thứức concat() hoc concat() hoặặc dc dùùng ng phphéép top toáán cn cộộng.ng.

ll VVíí ddụụ::String s3 = s1.concat(s2);String s3 = s1.concat(s2);hohoặặccString s3 = s1 + s2;String s3 = s1 + s2;

ll Trong Java hay dTrong Java hay dùùng phng phéép cp cộộng đng đểể ghghéép p hai hohai hoặặc nhic nhiềều xâu ký tu xâu ký tựự..

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 1010

7.2.4. T7.2.4. Táách cch cáác xâu conc xâu conll CCóó ththểể llấấy ra my ra mộột pht phầần cn củủa đa đốối tưi tượợng xâu ký tng xâu ký tựự

bbằằng phương thng phương thứức substring(c substring(). P). Phương thhương thứức c nnàày cy cóó 2 d2 dạạng:ng:ll substring(beginIndex,endIndex) trsubstring(beginIndex,endIndex) trảả vvềề mmộột đt đốối tưi tượợng ng

xâu chxâu chứứa ký ta ký tựự ttừừ beginIndex đ beginIndex đếến endIndexn endIndex--1.1.ll substring(beginIndex) trsubstring(beginIndex) trảả vvềề mmộột đt đốối tưi tượợng xâu chng xâu chứứa a

ký tký tựự ttừừ beginIndex đ beginIndex đếến cun cuốối xâu.i xâu.ll VVíí ddụụ::

String s = String s = ““DHNN1";DHNN1";s.substring(2, 3) cho s.substring(2, 3) cho ““NN””s.substring(3) cho s.substring(3) cho ““N1N1””

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 1111

7.2.5. So s7.2.5. So sáánh xâunh xâu

ll GiGiốống C++, trong Java không dng C++, trong Java không dùùng đưng đượợc c ccáác phc phéép top toáán so sn so sáánh đnh đểể so sso sáánh hai xâu nh hai xâu ký tký tựự..

ll MuMuốốn so sn so sáánh hai xâu ký tnh hai xâu ký tựự ta phta phảải di dùùng ng phương thphương thứức equals() hoc equals() hoặặc compareTo()c compareTo()ll s1.equals(s2) cho true ns1.equals(s2) cho true nếếu nu nộội dung s1 gii dung s1 giốống ng

nnộội dung s2.i dung s2.ll s1.compareTo(s2) cho gis1.compareTo(s2) cho giáá trtrịị 0 n0 nếếu s1=s2, u s1=s2,

cho gicho giáá trtrịị < 0 n< 0 nếếu s1<s2 vu s1<s2 vàà cho gicho giáá trtrịị > 0 > 0 nnếếu s1>s2. (giu s1>s2. (giốống hng hààm strcmp() trong C++).m strcmp() trong C++).

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 1212

7.2.5. So s7.2.5. So sáánh xâunh xâu

ll NNếếu muu muốốn so sn so sáánh hai xâu ký tnh hai xâu ký tựự không không phân biphân biệệt cht chữữ hoa, chhoa, chữữ thư thườờng thng thìì ddùùng ng phương thphương thứứcc equalsIgnoreCaseequalsIgnoreCase() ho() hoặặc c compareToIgnoreCase().compareToIgnoreCase().

ll VVíí ddụụ: : ““dhnn1dhnn1””.equalsIgnoreCase(.equalsIgnoreCase(““DHNN1DHNN1””) cho ) cho gigiáá trtrịị true.true.

Page 11: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 1313

7.2.5. So s7.2.5. So sáánh xâunh xâu

ll ĐĐểể kikiểểm tra xem mm tra xem mộột xâu ct xâu cóó bbắắt đt đầầu hay u hay kkếết tht thúúc bc bằằng mng mộột xâu nt xâu nàào đo đóó ta dta dùùng ng phương thphương thứức startWith(prefix) vc startWith(prefix) vààendWith(suffix)endWith(suffix)

ll VVíí ddụụ::String s = String s = ““Welcome to JavaWelcome to Java””;;s. startWith(s. startWith(““WelWel””) cho gi) cho giáá trtrịị truetrues.endWith(s.endWith(““JavaJava””) cho gi) cho giáá trtrịị truetrue

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 1414

7.2.6. Chuy7.2.6. Chuyểển đn đổổi xâui xâu

ll MMặặc dc dùù nnộội dung ci dung củủa đa đốối tưi tượợng xâu String ng xâu String không thkhông thểể thay đ thay đổổi nhưng ta ci nhưng ta cóó ththểể ddùùng cng cáác c phương thphương thứức toLowerCase(), toUpperCase(), c toLowerCase(), toUpperCase(), trim() vtrim() vàà replace replace() () đđểể ttạạo ra co ra cáác xâu mc xâu mớới.i.

ll s.toLowerCase() cho xâu ký ts.toLowerCase() cho xâu ký tựự chchữữ thư thườờng cng củủa a s.s.

ll s.toUpperCase() cho xâu ký ts.toUpperCase() cho xâu ký tựự chchữữ hoa choa củủa s.a s.ll s.trim() cho xâu ký ts.trim() cho xâu ký tựự ccủủa s nhưng không ca s nhưng không cóó ddấấu u

ccáách ch ởở hai đ hai đầầu.u.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 1515

7.2.6. Chuy7.2.6. Chuyểển đn đổổi xâui xâu

ll s.replace(oldChar, newChar) cho xâu ký ts.replace(oldChar, newChar) cho xâu ký tựự ccủủa a s nhưng thay ths nhưng thay thếế ttấất ct cảả ccáác ký tc ký tựự oldChar boldChar bằằng ng ký tký tựự newChar.newChar.

ll s.replaceFirst(oldSubstr,newSubstr) cho xâu ký s.replaceFirst(oldSubstr,newSubstr) cho xâu ký ttựự ccủủa s nhưng thay tha s nhưng thay thếế xâu con oldSubstr bxâu con oldSubstr bằằng ng xâu con newSubstr txâu con newSubstr tạại vi vịị trtríí xuxuấất hit hiệện đn đầầu tiên.u tiên.

ll s.replaceAll(oldSubstr,newSubstr) cho xâu ký ts.replaceAll(oldSubstr,newSubstr) cho xâu ký tựựccủủa s nhưng thay tha s nhưng thay thếế xâu con oldSubstr bxâu con oldSubstr bằằng ng xâu con newSubstr txâu con newSubstr tạại ti tấất ct cảả ccáác vc vịị trtríí xuxuấất hit hiệện.n.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 1616

7.2.6. Chuy7.2.6. Chuyểển đn đổổi xâui xâu

ll VVíí ddụụ::"Welcome".replace("Welcome".replace(‘‘ee’’, , ‘‘AA’’) => ) => ““WAlcomeWAlcome””"Welcome".replaceFirst("e", "A") => "Welcome".replaceFirst("e", "A") => ““WAcomeWAcome””"Welcome".replaceAll("e", "A") => "Welcome".replaceAll("e", "A") => ““WAlcomAWAlcomA””

Page 12: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 1717

7.2.7. T7.2.7. Tììm ký tm ký tựự vvàà xâu con trong xâu con trong mmộột xâut xâu

ll DDùùng cng cáác phương thc phương thứức indexOf() vc indexOf() vàà lastIndexOf()lastIndexOf() đ đểể ttììm mm mộột ký tt ký tựự hohoặặc mc mộột xâu con t xâu con trong mtrong mộột xâu ký tt xâu ký tựự..indexOf(int ch)indexOf(int ch)lastIndexOf(int ch)lastIndexOf(int ch)indexOf(int ch, int fromIndex)indexOf(int ch, int fromIndex)lastIndexOf(int ch, int endIndex)lastIndexOf(int ch, int endIndex)indexOf(String str)indexOf(String str)lastIndexOf(String str)lastIndexOf(String str)indexOf(String ch, int fromIndex)indexOf(String ch, int fromIndex)lastIndexOf(String str, int endIndex)lastIndexOf(String str, int endIndex)

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 1818

7.2.7. T7.2.7. Tììm ký tm ký tựự vvàà xâu con trong xâu con trong mmộột xâut xâu

ll VVíí ddụụ::"Welcome to Java!".indexOf('W')"Welcome to Java!".indexOf('W') returns 0.returns 0."Welcome to Java!".indexOf('x')"Welcome to Java!".indexOf('x') returns returns --1.1."Welcome to Java!".indexOf('o', 5)"Welcome to Java!".indexOf('o', 5) returns 9.returns 9."Welcome to Java!".indexOf("come")"Welcome to Java!".indexOf("come") returns 3.returns 3."Welcome to Java!".indexOf("Java", 5)"Welcome to Java!".indexOf("Java", 5) returns 11.returns 11."Welcome to Java!".indexOf("java", 5)"Welcome to Java!".indexOf("java", 5) returns returns --11..

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 1919

7.2.8. Chuy7.2.8. Chuyểển đn đổổi gii giữữa ma mảảng ký tng ký tựựvvàà xâuxâu

ll ChuyChuyểển đn đốối tưi tượợng xâu ký tng xâu ký tựự ththàành mnh mảảng cng cáác ký c ký ttựự ddùùng phương thng phương thứức toCharArray(). Vc toCharArray(). Víí ddụụ::char[] chars = char[] chars = ““JavaJava””.toCharArray();.toCharArray();

ll ChuyChuyểển mn mảảng cng cáác ký tc ký tựự ththàành đnh đốối tưi tượợng xâu ký ng xâu ký ttựự ddùùng hng hààm tm tạạo String(mo String(mảảng kt) hong kt) hoặặc phương c phương ththứức valueOf(mc valueOf(mảảng kt).ng kt).

ll VVíí ddụụ::String str = new String(new char[] {'J','a','v','a'});String str = new String(new char[] {'J','a','v','a'});String str = String.valueOf(new char[] {'J','a','v','a'});String str = String.valueOf(new char[] {'J','a','v','a'});

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 2020

7.2.9. Chuy7.2.9. Chuyểển cn cáác ký tc ký tựự vvàà gigiáá trtrịịssốố ththàành đnh đốối tưi tượợng xâu ký tng xâu ký tựự

ll Phương thPhương thứức valueOf đưc valueOf đượợc chc chồồng đng đểểchuychuyểển mn mộột ký tt ký tựự hohoặặc mc mộột st sốố ththàành xâu nh xâu ký tký tựự..

ll VVíí ddụụ::String str = String.valueOf(5.44); cho String str = String.valueOf(5.44); cho ““5.445.44””

Page 13: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 2121

7.3. L7.3. Lớớp Characterp Character

ll VVớới mi mỗỗi kii kiểểu du dữữ liliệệu cơ su cơ sởở, Java c, Java cóó mmộột t llớớp gp góói (wrapper class): Character, i (wrapper class): Character, Boolean, Byte, Short, Integer, Long, Float, Boolean, Byte, Short, Integer, Long, Float, Double. CDouble. Cáác kic kiểểu du dữữ liliệệu cơ su cơ sởở đư đượợc c đđóóng gng góói trong ci trong cáác lc lớớp tương p tương ứứng. Cng. Cáác gic giáátrtrịị kikiểểu cơ su cơ sởở ccóó ththểể ddùùng như cng như cáác đc đốối i tưtượợng.ng.

ll TTấất ct cảả ccáác lc lớớp gp góói trên đi trên đặặt trong java.langt trong java.lang

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 2222

7.3. L7.3. Lớớp Characterp CharacterCharacter

+Character(value: char) +charValue(): char +compareTo(anotherCharacter: Character): int +equals(anotherCharacter: Character): boolean +isDigit(ch: char): boolean +isLetter(ch: char): boolean +isLetterOrDigit(ch: char): boolean +isLowerCase(ch: char): boolean +isUpperCase(ch: char): boolean +toLowerCase(ch: char): char +toUpperCase(ch: char): char

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 2323

7.3. L7.3. Lớớp Characterp Characterll VVíí ddụụ::Character charObj = new Character('b');Character charObj = new Character('b');charObj.compareTo(new Character('a')) charObj.compareTo(new Character('a')) returns 1returns 1charObj.compareTo(new Character('b')) charObj.compareTo(new Character('b')) returns 0returns 0charObj.compareTo(new Character('c')) charObj.compareTo(new Character('c')) returns returns --11charObj.compareTo(new Character('d') charObj.compareTo(new Character('d') returns returns ––22charObj.equals(new Character('b')) charObj.equals(new Character('b')) returns truereturns truecharObj.equals(new Character('d')) charObj.equals(new Character('d')) returns falsereturns false

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 2424

7.4. L7.4. Lớớp StringBufferp StringBuffer

7.4.1. Gi7.4.1. Giớới thii thiệệu vu vềề llớớp StringBufferp StringBuffer7.4.2. T7.4.2. Tạạo đo đốối tưi tượợng xâu StringBufferng xâu StringBuffer7.4.3. 7.4.3. Thay đThay đổổi xâu ký ti xâu ký tựự StringBufferStringBuffer

Page 14: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 2525

7.4.1. Gi7.4.1. Giớới thii thiệệu vu vềề llớớp StringBufferp StringBuffer

ll LLớớp StringBuffer đưp StringBuffer đượợc dc dùùng như lng như lớớp p String nhưng mString nhưng mềềm dm dẻẻo hơno hơn. N. Nộội dung ci dung củủa a đđốối tưi tượợng StringBuffer cng StringBuffer cóó ththểể thay đ thay đổổi i trong khi ntrong khi nộội dung ci dung củủa đa đốối tưi tượợng String thng String thììkhông.không.

ll LLớớp StringBuffer cp StringBuffer cóó 3 h3 hààm tm tạạo vo vàà trên trên 30 30 phương thphương thứức đc đểể ququảản lý vn lý vùùng nhng nhớớ chchứứa a xâu (buffer) vxâu (buffer) vàà thay đ thay đổổi xâu.i xâu.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 2626

7.4.1. Gi7.4.1. Giớới thii thiệệu vu vềề llớớp StringBufferp StringBufferStringBuffer

+append(data: char[]): StringBuffer +append(data: char[], offset: int, len: int): StringBuffer +append(v: aPrimitiveType): StringBuffer +append(str: String): StringBuffer +capacity(): int +charAt(index: int): char +delete(startIndex: int, endIndex: int): StringBuffer +deleteCharAt(int index): StringBuffer +insert(index: int, data: char[], offset: int, len: int): StringBuffer +insert(offset: int, data: char[]): StringBuffer +insert(offset: int, b: aPrimitiveType): StringBuffer +insert(offset: int, str: String): StringBuffer +length(): int +replace(int startIndex, int endIndex, String str): StringBuffer +reverse(): StringBuffer +setCharAt(index: int, ch: char): void +setLength(newLength: int): void +substring(start: int): StringBuffer +substring(start: int, end: int): StringBuffer

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 2727

7.4.2. T7.4.2. Tạạo đo đốối tưi tượợng xâu ng xâu StringBufferStringBuffer

ll CCóó ththểể ttạạo đo đốối tưi tượợng xâu StringBuffer ng xâu StringBuffer bbằằng mng mộột trong 3 ht trong 3 hààm tm tạạo:o:ll StringBuffer() => TStringBuffer() => Tạạo mo mộột đt đốối tưi tượợng xâu ng xâu

không chkhông chứứa ký ta ký tựự nnàào, co, cóó kkíích thưch thướớc lc làà 16.16.ll StringBuffer(int length) => TStringBuffer(int length) => Tạạo mo mộột đt đốối tưi tượợng ng

xâu không chxâu không chứứa ký ta ký tựự nnàào, co, cóó kkíích thưch thướớc lc lààlength.length.

ll StringBuffer(String str) => TStringBuffer(String str) => Tạạo mo mộột đt đốối tưi tượợng ng xâu chxâu chứứa str, ca str, cóó kkíích thưch thướớc lc làà 16 + 16 + str.length().str.length().

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 2828

7.4.2. T7.4.2. Tạạo đo đốối tưi tượợng xâu ng xâu StringBufferStringBuffer

ll VVíí ddụụ::StringBuffer s = new StringBuffer(StringBuffer s = new StringBuffer(““DHNN1DHNN1””););

Page 15: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 2929

7.4.3. 7.4.3. Thay đThay đổổi xâu ký ti xâu ký tựựStringBufferStringBuffer

ll DDùùng phương thng phương thứức append(c append() ) đđểể thêm vthêm vàào cuo cuốối xâu i xâu StringBuffer cStringBuffer cáác gic giáá trtrịị boolean, char, char array, double, boolean, char, char array, double, float, int, long vfloat, int, long vàà String.String.

ll VVíí ddụụ: C: Cáác lc lệệnh sau tnh sau tạạo ra xâu o ra xâu ““Welcome to JavaWelcome to Java””StringBuffer strBuf = new StringBuffer();StringBuffer strBuf = new StringBuffer();strBuf.append("Welcome");strBuf.append("Welcome");strBuf.append(' ');strBuf.append(' ');strBuf.append("to");strBuf.append("to");strBuf.append(' ');strBuf.append(' ');strBuf.append("Java");strBuf.append("Java");

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 3030

7.4.3. 7.4.3. Thay đThay đổổi xâu ký ti xâu ký tựựStringBufferStringBuffer

ll DDùùng phương thng phương thứức insert(c insert() ) đđểể chchèèn vn vàào o mmộột vt vịị trtríí xxáác đc địịnh trong xâu StringBuffer nh trong xâu StringBuffer ccáác gic giáá trtrịị boolean, char, char array, boolean, char, char array, double, float, int, long vdouble, float, int, long vàà String.String.insert(p, str) => Chèn str vào vị trí pVí dụ: StringBuffer s = new StringBuffer(“Welcome to Java”);s.insert(11,”HTML and ”); => “Welcome to HTML and Java”

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 3131

7.4.3. 7.4.3. Thay đThay đổổi xâu ký ti xâu ký tựựStringBufferStringBuffer

ll XXóóa ký ta ký tựự ccủủa xâu:a xâu:ll delete(beginIndex,endIndex) => Xdelete(beginIndex,endIndex) => Xóóa ca cáác ký tc ký tựự ttừừ vvịị trtríí

beginIndex đbeginIndex đếến endIndexn endIndex--11ll deleteCharAt(index) => XdeleteCharAt(index) => Xóóa ký ta ký tựự ttạại vi vịị trtríí indexindex

ll ĐĐảảo ngưo ngượợc xâu: reverse()c xâu: reverse()ll Thay thThay thếế ccáác ký tc ký tựự ccủủa xâu:a xâu:

replace(beginIndex,endIndex,str) => Thay creplace(beginIndex,endIndex,str) => Thay cáác ký tc ký tựự ttừừ beginIndex đbeginIndex đếến endIndex bn endIndex bằằng str.ng str.

ll Thay thThay thếế ký tký tựự ttạại mi mộột vt vịị trtríí: setCharAt(index,ch): setCharAt(index,ch)

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 3232

7.5. L7.5. Lớớp StringTokenizerp StringTokenizer

llMMộột xâu ký tt xâu ký tựự ccóó ththểể đư đượợc tc táách thch thàành nh ccáác xâu con (mc xâu con (mảảnh, token) bnh, token) bởởi ci cáác ký c ký ttựự phân tphân táách (dch (delimiter).elimiter). Đ Đểể ccóó ththểểttáách thch thàành cnh cáác xâu con ta phc xâu con ta phảải di dùùng ng đđốối tưi tượợng xâu ký tng xâu ký tựự llớớp p StringTokenizer.StringTokenizer.

ll LLớớp StringTokenizer np StringTokenizer nằằm trong gm trong góói i java.util vjava.util vàà đư đượợc tc tựự đ độộng import khi ng import khi biên dbiên dịịch.ch.

Page 16: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 3333

7.5. L7.5. Lớớp StringTokenizerp StringTokenizerll CCáác hc hààm tm tạạo:o:

StringTokenizer(String s)StringTokenizer(String s)StringTokenizer(String s, String delim)StringTokenizer(String s, String delim)StringTokenizer(String s, String delim, StringTokenizer(String s, String delim,

boolean returnTokens)boolean returnTokens)ll VVíí ddụụ::

String s = "Java is cool."String s = "Java is cool."StringTokenizer tkz = new StringTokenizer(s);StringTokenizer tkz = new StringTokenizer(s);StringTokenizer tkz = new StringTokenizer(s,"ac");StringTokenizer tkz = new StringTokenizer(s,"ac");StringTokenizer tkz = new StringTokenizer(s,"ac",true);StringTokenizer tkz = new StringTokenizer(s,"ac",true);

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 3434

7.5. L7.5. Lớớp StringTokenizerp StringTokenizer

ll MMộột st sốố phương th phương thứức:c:boolean hasMoreTokens()String nextToken()String nextToken(String delim)

ll VVíí ddụụ::String s = "Java is cool."String s = "Java is cool."StringTokenizer tkz = new StringTokenizer(s);StringTokenizer tkz = new StringTokenizer(s);System.out.println("Tong so token = " + tkz.countTokens());System.out.println("Tong so token = " + tkz.countTokens());while (tkz.hasMoreTokens())while (tkz.hasMoreTokens())

System.out.println(tkz.nextToken());System.out.println(tkz.nextToken());

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 3535

BBàài ti tậập chương p chương 77

BBàài 1. Vii 1. Viếết chương trt chương trìình nhnh nhậập vp vàào mo mộột xâu t xâu ký tký tựự vvàà mmộột ký tt ký tựự. G. Gọọi phương thi phương thứức đc đếếm m ssốố llầần xun xuấất hit hiệện cn củủa ký ta ký tựự trong xâu ký ttrong xâu ký tựự String đã nhString đã nhậập. p. Tiêu đTiêu đềề phương th phương thứức đc đếếm m ccóó ddạạng:ng:public static int count(String str, char ch)public static int count(String str, char ch)VVíí ddụụ: count(: count(““WelcomeWelcome””,,’’ee’’) tr) trảả vvềề 22

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 3636

BBàài ti tậập chương p chương 77

BBàài 2. Vii 2. Viếết phương tht phương thứức đc đếếm sm sốố llầần xun xuấất t hihiệện cn củủa ma mỗỗi chi chữữ ssốố trong mtrong mộột xâu ký tt xâu ký tựự String. TiêuString. Tiêu đ đềề phương th phương thứức đc đếếm cm cóó ddạạng:ng:public static int[] count(String str)public static int[] count(String str)Phương thPhương thứức trc trảả vvềề mmảảng 10 phng 10 phầần tn tửử, m, mỗỗi i phphầần tn tửử chchứứa sa sốố đ đếếm đưm đượợc cho 1 chc cho 1 chữữ ssốố..ViViếết chương trt chương trìình nhnh nhậập vp vàào 1 xâu ký to 1 xâu ký tựự ccóóchchứứa sa sốố, hi, hiểển thn thịị kkếết qut quảả đ đếếm cho tm cho từừng ng chchữữ ssốố ccóó mmặặt trong xâu.t trong xâu.

Page 17: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 3737

BBàài ti tậập chương p chương 77

BBàài 3. Vii 3. Viếết phương tht phương thứức chuyc chuyểển mn mộột st sốố hex hex cho dưcho dướới di dạạng xâu ký tng xâu ký tựự ththàành snh sốố nguyên nguyên ththậập phân.p phân. Tiêu đ Tiêu đềề ccủủa phương tha phương thứức cc cóóddạạng sau:ng sau:int parseHex(String hexString)int parseHex(String hexString)ViViếết chương trt chương trìình nhnh nhậập vp vàào 1 so 1 sốố hex dư hex dướới i ddạạng xâu, gng xâu, gọọi phương thi phương thứức parseHex(c parseHex() ) đđểểchuychuyểển thn thàành snh sốố nguyên thnguyên thậập phân vp phân vàà đưa kđưa kếết qut quảả ra mra mààn hn hìình.nh.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 3838

BBàài ti tậập chương p chương 77

BBàài 4. Vii 4. Viếết phương tht phương thứức chuyc chuyểển mn mộột st sốố nhnhịị phân cho dưphân cho dướới di dạạng xâu ký tng xâu ký tựự ththàành snh sốốnguyên thnguyên thậập phân.p phân. Tiêu đ Tiêu đềề ccủủa phương a phương ththứức cc cóó ddạạng sau:ng sau:int parseBin(String binString)int parseBin(String binString)ViViếết chương trt chương trìình nhnh nhậập vp vàào 1 so 1 sốố binary binary dưdướới di dạạng xâu, gng xâu, gọọi phương thi phương thứức c parseBin()parseBin() đ đểể chuychuyểển thn thàành snh sốố nguyên nguyên ththậập phân vp phân vàà đưa k đưa kếết qut quảả ra mra mààn hn hìình.nh.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 3939

BBàài ti tậập chương p chương 77

BBàài 5. Vii 5. Viếết phương tht phương thứức chuyc chuyểển mn mộột st sốố nguyên dương thnguyên dương thậập phân thp phân thàành snh sốố hex hex dưdướới di dạạng xâu ký tng xâu ký tựự. T. Tiêu điêu đềề ccủủa phương a phương ththứức cc cóó ddạạng sau:ng sau:String convertDecimalToHex(int value)String convertDecimalToHex(int value)ViViếết chương trt chương trìình nhnh nhậập vp vàào 1 so 1 sốố nguyên nguyên dươngdương, g, gọọi phương thi phương thứức nc nàày đy đểể chuychuyểển n ththàành snh sốố hex vhex vàà đưa k đưa kếết qut quảả ra mra mààn hn hìình.nh.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 4040

BBàài ti tậập chương p chương 77

BBàài 6. Vii 6. Viếết phương tht phương thứức sc sắắp xp xếếp cp cáác ký tc ký tựựtrong mtrong mộột xâu ký tt xâu ký tựự theo chitheo chiềều tăng du tăng dầần n vvàà trtrảả vvềề xâu ký txâu ký tựự đã s đã sắắp xp xếếp. p. Tiêu đTiêu đềềccủủa phương tha phương thứức cc cóó ddạạng sau:ng sau:String sort(String s)String sort(String s)ViViếết chương trt chương trìình nhnh nhậập vp vàào 1 xâu ký to 1 xâu ký tựự, , đưa ra mđưa ra mààn hn hìình xâu ký tnh xâu ký tựự đã s đã sắắp xp xếếp.p.

Page 18: Ch06 07 oop java

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 4141

BBàài ti tậập chương p chương 77

BBàài 7. Vii 7. Viếết phương tht phương thứức kic kiểểm tra xem hai tm tra xem hai từừccóó phphảải li làà anagram. Hai tanagram. Hai từừ đư đượợc gc gọọi li lààanagram vanagram vớới nhau ni nhau nếếu chu chúúng cng cóó ssốố chchữữccáái gii giốống nhau tng nhau từừng đôi mng đôi mộột, không kt, không kểể đ đếến n ththứứ ttựự. T. Tiêu điêu đềề ccủủa phương tha phương thứức cc cóó ddạạng ng sau:sau:boolean isAnagram(String s1, String s2)boolean isAnagram(String s1, String s2)ViViếết chương trt chương trìình nhnh nhậập vp vàào 2 to 2 từừ, , đưa kđưa kếết t ququảả kikiểểm tra ra mm tra ra mààn hn hìình.nh.

BBàài gii giảảng LT JAVA ng LT JAVA -- PhPhầần 2n 2,C,Chương hương 7 GV. Ngô Công Th7 GV. Ngô Công Thắắngng 4242

BBàài ti tậập chương p chương 77

BBàài 8. Vii 8. Viếết chương trt chương trìình nhnh nhậập vp vàào mo mộột xâu t xâu ký tký tựự. . ĐĐếếm xem trong xâu đm xem trong xâu đóó ccóó bao nhiêu bao nhiêu ttừừ. Bi. Biếết rt rằằng cng cáác tc từừ phân cphân cáách nhau bch nhau bởởi i ddấấu cu cáách vch vàà ccáác dc dấấu chu chấấm câu.m câu. Đưa k Đưa kếết t ququảả ra mra mààn hn hìình.nh.

BBàài 9. Vii 9. Viếết chương trt chương trìình nhnh nhậập vp vàào mo mộột dãy t dãy ssốố ththựực dưc dướới di dạạng xâu ký tng xâu ký tựự, c, cáác sc sốố ththựực c phân cphân cáách nhau bch nhau bởởi i íít nht nhấất mt mộột dt dấấu cu cáách. ch. TTíính tnh tổổng cng cáác sc sốố ththựực vc vàà đưa k đưa kếết qut quảả ra ra mmààn hn hìình.nh.