c a đ i s th hai). Câu l nh ti p theo kích ho t ph
ng th c
ủ
ố ố ứ
ệ
ế
ạ
ươ
ứ newLine, mà Java gi s r ng nó có
ả ử ằ
ở
trong l p mà ta đang (t c là l p
ớ
ứ
ớ NewLine).
N u b n th kích ho t nh m m t ph
ng th c t l p khác, trình biên d ch s phát sinh m t l i. Ch ng
ế
ạ
ử
ạ
ầ
ộ
ươ
ứ ừ ớ
ị
ẽ
ộ ỗ
ẳ
h n, n u b n gõ vào:
ạ
ế
ạ
pow(2.0, 10.0);
Trình biên d ch s nói ki u nh , “Không th tìm th y ph
ng th c có tên
ị
ẽ
ể
ư
ể
ấ
ươ
ứ
pow trong l p
ớ NewLine.” N u
ế
b n t ng th y l i thông báo này và có l đã t h i r ng t i sao nó ph i tìm
ạ ừ
ấ ờ
ẽ
ự ỏ ằ
ạ
ả
pow trong l i đ nh nghĩa l p
ờ ị
ớ
c a b n, thì bây gi b n đã bi t r i đó.
ủ
ạ
ờ ạ
ế ồ
3.7 Ch
ng trình có nhi u ph
ng th c
ươ
ề
ươ
ứ
Khi b n nhìn vào l i đ nh nghĩa m t l p có ch a nhi u ph
ng th c, t t s có xu h
ng mu n đ c t
ạ
ờ ị
ộ ớ
ứ
ề
ươ
ứ
ấ ẽ
ướ
ố
ọ ừ
trên xu ng d
i, nh ng đi u này d gây nh m l n, b i đó không ph i là
ố
ướ
ư
ề
ễ
ầ
ầ
ở
ả
th t th c hi n
ứ ự
ự
ệ ch ng
ươ
trình.
Vi c th c hi n (th c thi) luôn b t đ u t câu l nh th nh t c a
ệ
ự
ệ
ự
ắ ầ ừ
ệ
ứ
ấ ủ main, b t k nó n m đâu trong ch ng
ấ ể
ằ
ươ
trình ( ví d này thì tôi đã c ý đ t cu i cùng). Nh ng câu l nh đ
c th c hi n l n l
t, theo th t ,
ở
ụ
ố
ặ ở ố
ữ
ệ
ượ
ự
ệ ầ ượ
ứ ự
đ n khi b n g p m t l i g i (kích ho t) ph
ng th c. Vi c kích ho t ph
ng th c cũng gi ng nh l i r
ế
ạ
ặ
ộ ờ ọ
ạ
ươ
ứ
ệ
ạ
ươ
ứ
ố
ư ố ẽ
kh i lu ng th c thi ch
ng trình. Thay vì đi ti p đ n câu l nh li n k , b n chuy n đ n dòng l nh đ u
ỏ
ồ
ự
ươ
ế
ế
ệ
ề
ề ạ
ể
ế
ệ
ầ
tiên đ
c kích ho t, th c hi n t t c nh ng câu l nh đó, r i quay l i và ti p t c t i đi m đã r ngang.
ượ
ạ
ự
ệ ấ ả
ữ
ệ
ở
ồ
ạ
ế ụ ạ
ể
ẽ
Đi u này nghe th t đ n gi n, song b n v n c n nh r ng m t ph
ng th c có th kích ho t ph
ng
ề
ậ ơ
ả
ạ
ẫ ầ
ớ ằ
ộ
ươ
ứ
ể
ạ
ươ
th c khác. B i v y, khi ta đang đo n gi a c a
ứ
ở ậ
ở
ạ
ữ ủ main, ta có th bu c ph i d i đi đ th c hi n nh ng câu
ể
ộ
ả ờ
ể ự
ệ
ữ
l nh trong
ệ
threeLine. Nh trong khi th c thi
ư
ự
threeLine, có ba l n ta b gián đo n và ph i d i đi và th c
ầ
ị
ạ
ả ờ
ự
hi n
ệ newLine.
V ph n mình,
ề
ầ
newLine kích ho t
ạ println, và t o thêm m t l i r n a. Th t may là Java r t khéo theo
ạ
ộ ố ẽ ữ
ậ
ấ
dõi v trí đang th c thi, nên khi
ị
ự
println hoàn thành, công vi c l i đ
c tr v đúng ch mà v a r i
ệ ạ ượ
ả ề
ỗ
ừ ờ
kh i
ỏ newLine, và sau đó thì tr l i
ở ạ threeLine, r i sau cùng tr l i
ồ
ở ạ main đ ch ng trình có th k t thúc.
ể ươ
ể ế
Xét v khía c nh kĩ thu t, ch
ng trình ch a k t thúc sau
ề
ạ
ậ
ươ
ư ế
main. Thay vì v y, lu ng th c thi tìm đ n ch
ậ
ồ
ự
ế
ỗ
mà nó d i kh i ch
ng trình đã kích ho t
ờ
ỏ
ươ
ạ main, t c là trình thông d ch Java. Trình thông d ch này đ m
ứ
ị
ị
ả
nhi m các vi c nh xóa c a s và d n d p nói chung, r i
ệ
ệ
ư
ử ổ
ọ
ẹ
ồ sau đó ch ng trình m i k t thúc.
ươ
ớ ế
V y nghĩa lí c a toàn b nh ng th l ng nh ng này là gì? Khi đ c m t ch
ng trình, b n đ ng đ c t
ậ
ủ
ộ
ữ
ứ ằ
ằ
ọ
ộ
ươ
ạ
ừ
ọ ừ
trên xu ng d
i, mà ph i đ c theo lu ng th c thi.
ố
ướ
ả ọ
ồ
ự
3.8 Tham s và đ i s
ố
ố ố
Có nh ng ph
ng th c ta đã dùng yêu c u ph i có
ữ
ươ
ứ
ầ
ả
đ i s
ố ố, v n là nh ng giá tr mà b n c n cung c p đ
ố
ữ
ị
ạ ầ
ấ
ể
có th kích ho t đ
c chúng. Ch ng h n, đ tìm sin c a m t s , b n ph i cung c p s đó. Nh
ể
ạ ượ
ẳ
ạ
ể
ủ
ộ ố ạ
ả
ấ ố
ư
v y,
ậ sin đã nh n đ i s là m t
ậ
ố ố
ộ double. Đ in ra m t chu i, b n ph i cung c p chu i đó, vì
ể
ộ
ỗ
ạ
ả
ấ
ỗ
v y
ậ println nh n đ i s là m t
ậ
ố ố
ộ String.
L i có nh ng ph
ng th c nh n nhi u đ i s ; ch ng h n,
ạ
ữ
ươ
ứ
ậ
ề
ố ố
ẳ
ạ pow nh n hai
ậ
double, đó là c s và s mũ.
ơ ố
ố
Khi b n dùng m t ph
ng th c, b n ph i cung c p đ i s . Khi b n vi t m t ph
ng th c, b n cung c p
ạ
ộ
ươ
ứ
ạ
ả
ấ
ố ố
ạ
ế
ộ
ươ
ứ
ạ
ấ
m t danh sách các tham s (hay tham bi n). M t
ộ
ố
ế
ộ tham số là m t bi n đ ch a m t đ i s . Danh sách
ộ
ế
ể ứ
ộ ố ố
các tham bi n ch đ nh r ng c n ph i có nh ng đ i s nào.
ế
ỉ ị
ằ
ầ
ả
ữ
ố ố
Ch ng h n,
ẳ
ạ printTwice ch đ nh m t tham s duy nh t,
ỉ ị
ộ
ố
ấ s, v n có ki u
ố
ể String. Tôi đ t tên nó là
ặ
s đ g i
ể ợ