THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 75

}

index = index + 1;

}

System.out.println(count);

Ch

ng trình này cho th y m t cách vi t quen tay thông d ng, đó là m t

ươ

ế

bi n đ m

ế

ế . Bi n

ế count đ c

ượ

kh i t o b ng không và sau đó tăng thêm m t ng v i m i l n ta tìm th y m t ch

ở ạ

ộ ứ

ỗ ầ

ữ ’a’. Vi c

tăng đây

là ch tăng thêm m t đ n v ; nó ng

c l i v i thao tác

ộ ơ

ượ ạ ớ

gi m

. Khi ta thoát kh i vòng l p,

ặ count s ch a

ẽ ứ

k t qu , đó là t ng s các ch a.

ế

8.8 Các toán t tăng và gi m

Tăng và gi m là nh ng thao tác thông d ng đ n n i Java có nh ng toán t riêng cho chúng. Toán t

ế

ử +

+ c ng thêm m t vào giá tr hi n th i c a m t

ị ệ

ờ ủ

ộ int hay char. -- thì tr đi m t. Hai toán t trên đ u không

có tác d ng đ i v i

ố ớ double, boolean hay String.

V khía c nh kĩ thu t, s hoàn toàn h p l n u ta tăng m t bi n r i đ ng th i s d ng nó trong m t

ậ ẽ

ợ ệ ế

ế ồ ồ

ờ ử ụ

bi u th c. Ch ng h n, b n có th th y l nh ki u nh sau:

ể ấ ệ

ư

System.out.println(i++);

Nhìn vào câu l nh này, th t không rõ là li u vi c tăng s ti n hành tr

c hay sau khi giá tr đ

c in ra.

ẽ ế

ướ

ị ượ

B i vì nh ng bi u th c th này có xu h

ng gây nh m l n, tôi khuyên b n nên h n ch s d ng chúng.

ế

ướ

ế ử ụ

Th m chí, đ h n ch h n n a, tôi s không nói cho b n bi t k t qu b ng bao nhiêu. N u th c s

ể ạ

ế ơ

ế ế

ả ằ

ế

ự ự

mu n bi t, b n có th th xem.

ế

ể ử

B ng cách dùng toán t tăng, ta có th vi t l i mã l nh đ m ch :\

ể ế ạ

ế

int

index = 0;

while

(index < length) {

if

(fruit.charAt(index) ==

'a'

) {

count++;

}

index++;

}

M t l i sai th

ng g p là vi t l nh ki u nh sau:

ộ ỗ

ườ

ế ệ

ư

index = index++;

// SAI!!

Tuy nhiên, cách này l i h p l v m t cú pháp, nên trình biên d ch s không c nh báo b n. Hi u ng c a

ạ ợ ệ ề ặ

ệ ứ

l nh này là gi nguyên giá tr c a

ị ủ index. Đây th ng là m t l i khó tìm ra.

ườ

ộ ỗ

Hãy nh , b n có th vi t

ớ ạ

ể ế index = index+1, hay index++, nh ng đ ng tr n l n hai cách vi t này.

ư

ộ ẫ

ế

8.9 String có tính không đ i

Nh đã đ c tài li u v các ph

ng th c c a

ư

ươ

ứ ủ String, có th b n phát hi n ra hai ph ng

ể ạ

ươ

th c

ứ toUpperCase và toLowerCase. Hai ph ng th c này th ng gây nh m l n, vì chúng có tên g i nghe

ươ

ườ

nh th chúng có tác d ng thay đ i chu i hi n có. Song th c ra, ch ng có ph

ng th c nào nói chung và

ư ể

ươ

hai ph

ng th c này nói riêng, có th thay đ i đ

c chu i, vì chu i có

ươ

ổ ượ

tính không đ i

.