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

nh v y thì in ra m t thông báo l i r i dùng

ư ậ

ỗ ồ

return đ thoát kh i ph

ng th c. Lu ng th c thi s l p

ươ

ẽ ậ

t c tr l i ch g i ph

ng th c đó và nh ng dòng còn l i c a ph

ng th c s không đ

c th c hi n.

ở ạ

ỗ ọ

ươ

ạ ủ

ươ

ứ ẽ

ượ

Tôi đã dùng m t giá tr d u ph y đ ng bên v ph i c a đi u ki n vì v trái bi u th c này là m t bi n

ị ấ

ế

ả ủ

ế

ế

ph y đ ng.

4.7 Chuy n đ i ki u

B n có th t h i r ng làm sao ch

ng trình c a ta có th êm xuôi v i bi u th c ki u nh

ể ự ỏ ằ

ươ

ư "Gia tri log

cua x bang " + result, b i m t toán h ng là

String còn toán h ng kia là

double. Truong tr

ng h p này

ườ

Java đã thông minh đ thay ta chuy n giá tr

ị double thành String tr c khi th c hi n vi c ghép chu i.

ướ

M i khi b n th “c ng” hai bi u th c, mà m t trong s đó là

ử ộ

String, Java s chuy n đ i cái còn l i

thành String r i m i th c hi n ghép chu i. B n nghĩ đi u gì s x y ra n u th c hi n phép c ng gi a m t

ẽ ả

ế

s nguyên v i m t giá tr ph y đ ng?

4.8 Đ quy

ch

ng tr

c tôi đã nói r ng vi c m t ph

ng th c kích ho t ph

ng th c khác là h p l , và a đã xét

Ở ươ

ướ

ươ

ươ

ợ ệ

vài ví d . Tôi ch a đ c p r ng m t ph

ng th c kích ho t chính nó cũng h p l . M c dù b ngoài thì có

ư

ề ậ ằ

ươ

ợ ệ

th đi u này không rõ hay d ra sao, nh ng th c ra đó chính là m t trong nh ng đ c đi m hay nh t

ể ề

ư

trong l p trình.

Ch ng h n, hãy xét ph

ng th c sau:

ươ

public static void

countdown(

int

n) {

if

(n == 0) {

System.out.println(

"Bum!"

);

}

else

{

System.out.println(n);

countdown(n-1);

}

}

Ph

ng th c có tên là

ươ

countdown và nó nh n tham s là m t s nguyên. N u tham s

ộ ố

ế

ố b ng 0 ho c âm,

ch

ng trình s in ra ch , “Bùm!” Còn n u không, nó s in ra giá tr tham s

ươ

ế

ố và sau đó kích ho t m t

ph

ng th c có tên

ươ

countdown

—nghĩa là chính nó—nh ng truy n vào đ i s

ư

ố ố

n-1

.

Đi u gì s x y ra khi ta kích ho t m t ph

ng th c ki u nh th này?

ẽ ả

ươ

ư ế

countdown(3);

Vi c th c hi n

countdown

b t đ u v i

ắ ầ

n=3

, và do

n

l n h n 0, nó đ a ra giá tr 3, và r i g i chính nó…

ơ

ư

ồ ọ

Vi c th c hi n

countdown

b t đ u v i

ắ ầ

n=2

, và do

n

l n h n 0, nó đ a ra giá tr 2, và r i g i chính nó…

ơ

ư

ồ ọ

Vi c th c hi n

countdown

b t đ u v i

ắ ầ

n=1

, và do

n

l n h n 0, nó đ a ra giá tr 1, và r i g i chính nó…

ơ

ư

ồ ọ

Vi c th c hi n

countdown

b t đ u v i

ắ ầ

n=0

, và do

n

không còn l n h n 0, nó đ a ra dòng ch “Bùm!” và

ơ

ư

r i quay v .

Ph

ng th c

ươ

countdown

ng v i

n=1

quay v .

Ph

ng th c

ươ

countdown

ng v i

n=2

quay v .

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.