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

Ch

ng 7: Phép l p và vòng

ươ

l p

7.1 Phép gán nhi u l n

ề ầ

B n có th khi n cho nhi u l nh gán ch t i cùng m t bi n; mà hi u qu c a nó là nh m thay th giá tr

ế

ề ệ

ỉ ớ

ế

ả ủ

ế

cũ b ng giá tr m i.

ị ớ

int

liz = 5;

System.out.print(liz);

liz = 7;

System.out.println(liz);

K t qu c a ch

ng trình này b ng

ế

ả ủ

ươ

ằ 57, vì l n đ u tiên khi in

liz bi n này có giá tr b ng 5, còn l n th

ế

ị ằ

hai thì bi n có giá tr b ng 7.

ế

ị ằ

Hình th c

gán nhi u l n

ề ầ nh th này là lí do mà tôi mô t các bi n nh là

ư ế

ế

ư h p ch a

giá tr . Khi b n

gán m t giá tr vào cho bi n, b n thay đ i n i dung c a h p ch a, nh hình v sau:

ế

ổ ộ

ư ở

Khi có nhi u phép gán đ i v i cùng m t bi n, thì r t chú tr ng vi c phân bi t gi a câu l nh gán và đ ng

ố ớ

ế

th c. Vì Java dùng d u

ấ = cho l nh gán nên ta b lôi cu n vào vi c di n gi i m t câu l nh nh

ư a = b là câu

l nh đ ng th c. Th t ra không ph i v y!

ả ậ

Tr

c h t, đ ng th c thì có tính giao hoán, còn l nh gán thì không. Ch ng h n trong toán h c, n u

ướ ế

ế a = 7

thì 7 = a. Nh ng trong Java

ư

a = 7; l i là m t l nh gán h p l , còn

ộ ệ

ợ ệ

7 = a; thì không.

H n n a, trong toán h c, m t đ ng th c thì luôn đúng. N u bây gi

ơ

ộ ẳ

ế

a = b, thì a s luôn b ng

b. Trong

Java, m t l nh gán có th làm cho hai bi n b ng nhau, nh ng không có gì b t bu c chúng b ng nhau

ộ ệ

ế

ư

mãi!

int

a = 5;

int

b = a;

// bây giờ thì a bằng b

a = 3;

// a không còn bằng b nữa

Dòng l nh th ba đã thay đ i giá tr c a

ị ủ a mà không làm thay đ i giá tr c a

ị ủ b, vì v y chúng không còn

b ng nhau. M t s ngôn ng l p trình có dùng kí hi u khác cho phép gán, nh

ộ ố

ữ ậ

ư <- ho c

ặ :=, đ tránh s

nh m l n này.

M c dù phép gán nhi u l n th

ng có ích, so b n nên c n th n khi dùng. N u giá tr c a các bi n thay

ề ầ

ườ

ế

ị ủ

ế

đ i th

ng xuyên thì có có th khi n cho mã l nh khó đ c và g l i.

ườ

ế

ỡ ỗ

7.2 Câu l nh

while

Máy tính th

ng đ

c dùng đ t đ ng hóa các thao tác có tính l p l i. Th c hi n nh ng thao tác l p l i

ườ

ượ

ể ự ộ

ặ ạ

ặ ạ

này mà không ph m l i là đi u mà máy tính làm t t còn chúng ta làm r t d .

ấ ở

Ta đã th y các ph

ng th c nh

ươ

ư countdown và factorial trong đó dùng đ quy đ th c hi n l p. Quá

ể ự

ệ ặ

trình này đ

c g i là

ượ ọ

phép l p

. Java có nh ng đ c đi m ngôn ng giúp cho vi c vi t các ph ng th c

ế

ươ

nêu trên m t cách d dàng h n. ch

ng này ta xem xét câu l nh

ơ Ở ươ

ệ while. V sau ( M c

ở ụ 12.4) ta xét đ n

ế

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.