}
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
ổ .