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

nh r ng đó là m t

ớ ằ

ộ String, song tôi cũng có th đ t b t kì tên bi n h p l nào cho nó.

ể ặ ấ

ế

ợ ệ

public static void

printTwice(String s) {

System.out.println(s);

System.out.println(s);

}

Khi kích ho t

ạ printTwice, ta ph i cung c p m t đ i s duy nh t có ki u

ộ ố ố

ể String.

printTwice(

"Don't make me say this twice!"

);

Khi b n kích ho t m t ph

ng th c, đ i s mà b n cung c p đ

c dùng đ gán cho các tham s . Trong

ươ

ố ố

ượ

tr

ng h p này, đ i s

ườ

ố ố "Don’t make me say this twice!" đ c gán cho tham s

ượ

ố s. Quá trình này đ c g i

ượ ọ

truy n tham s

vì giá tr đ c truy n t bên ngoài ph ng th c vào bên trong.

ị ượ

ề ừ

ươ

M t đ i s có th là bi u th c b t kì, vì v y n u b n có m t bi n

ộ ố ố

ứ ấ

ế

ế String thì có th dùng chính bi n này

ế

làm đ i s :

ố ố

String argument =

"Never say never."

;

printTwice(argument);

Giá tr mà b n cung c p làm đ i s s ph i có cùng ki u v i tham s . Ch ng h n, n u b n th dòng l nh

ố ố ẽ

ế

sau:

printTwice(17);

B n s nh n đ

c thông báo l i ki u nh “cannot find symbol” (không tìm th y kí hi u); thông báo này

ạ ẽ

ượ

ư

không m y h u ích. Lí do là Java đang tìm m t ph

ng th c có tên

ươ

printTwice mà có th nh n đ i s là

ố ố

s nguyên. Vì ch ng có ph

ng th c nào nh v y nên nó không th tìm th y “kí hi u” đó.

ươ

ư ậ

System.out.println ch p nh n đ

c tham s thu c ki u d li u b t kì. Nh ng ph

ng th c này ch là

ượ

ữ ệ

ư

ươ

m t ngo i l ; đ i đa s các ph

ng th c thì không d tính nh v y.

ạ ệ ạ

ươ

ư ậ

3.9 Bi u đ ngăn x p

ế

Các tham s và nh ng bi n khác ch t n t i trong ph

ng th c riêng c a chúng. Trong ph m vi

ế

ỉ ồ ạ

ươ

c a

ủ main, không có cái gì g i là

s. N u b n th dùng bi n này, trình biên d ch s ph n đ i. T

ng t ,

ế

ế

ươ

trong printTwice không có th gì g i là

argument c .

M t cách theo dõi xem nh ng bi n nào đ

c s d ng đâu là dùng m t

ế

ượ ử ụ

bi u đ ngăn x p

ế . V i ví d

trên, bi u đ ngăn x p s nh sau:

ế ẽ

ư

M i ph

ng th c đ u có m t h p màu xám g i là

ươ

ứ ề

ộ ộ

khung., trong đó ch a các tham s và bi n c a

ế ủ

ph

ng th c. Tên c a ph

ng th c đ

c ghi bên ngoài khung. Nh th

ng l , giá tr c a m i bi n l i

ươ

ươ

ứ ượ

ư ườ

ị ủ

ế ạ

đ

c vi t trong m t h p cùng v i tên bi n ghi bên c nh.

ượ

ế

ộ ộ

ế

3.10 Ph

ng th c có nhi u tham s

ươ

Có m t lý do th

ng gây ra l i khi l p trình: đó chính là cú pháp đ miêu t và kích ho t ph

ng th c

ườ

ươ

g m nhi u tham s . Tr

c h t, hãy nh r ng b n ph i khai báo ki u c a t ng tham s . Ch ng h n

ướ ế

ớ ằ

ể ủ ừ

public static void

printTime(

int

hour,

int

minute) {

System.out.print(hour);

System.out.print(

":"

);