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

Nh ng ph n t c a m ng đ

c đánh s t 0 t i 3, nghĩa là không có ph n t nào mang ch s 4. Đi u

ầ ử ủ

ượ

ố ừ

ầ ử

ỉ ố

này r t quen thu c, b i ta đã th y đi u t

ng t trong ch s c a

ề ươ

ỉ ố ủ String. Dù v y, vi c v t quá ph m vi

ệ ượ

c a m ng v n là ki u l i th

ng g p, b ng cách đó phát ra bi t l

ể ỗ

ườ

ệ ệArrayOutOfBoundsException.

B n có th dùng b t kì bi u th c nào làm ch s cũng đ

c, mi n là nó có ki u

ỉ ố

ượ

ể int. M t trong nh ng

cách thông d ng nh t đ đánh ch s c a m ng là dùng bi n vòng l p. Ch ng h n:

ấ ể

ỉ ố ủ

ế

int

i = 0;

while

(i < 4) {

System.out.println(count[i]); i++;

}

Đây là m t vòng l p

ặ while tiêu chu n đ đ m t 0 lên 4, và khi bi n l p

ể ế

ế ặ i b ng 4, đi u ki n l p s không

ệ ặ ẽ

th a mãn và vòng l p k t thúc. Nh v y, ph n thân vòng l p ch đ

c th c thi khi

ế

ư ậ

ỉ ượ

i là 0, 1, 2 và 3.

M i l n qua vòng l p ta dùng

ỗ ầ

i làm ch s trong m ng, đ in ra ph n t th

ỉ ố

ầ ử ứ i. Hình th c duy t m ng này

r t thông d ng.

12.2 Sao chép m ng

Khi b n sao chép m t bi n m ng, hãy nh r ng b n đang sao chép tham chi u t i m ng. Ví d :

ế

ớ ằ

ế ớ

double

[] a =

new double

[3];

double

[] b = a;

Đo n mã l nh này t o nên m t m ng ba s

ố double, r i đ t hai bi n khác nhau đ tham chi u t i nó.

ồ ặ

ế

ế ớ

Tr

ng h p này cũng là m t d ng trùng tên (aliasing).

ườ

ộ ạ

B t kì thay đ i nào đ i v i m t trong hai m ng đ u đ

c ph n ánh trên m ng còn l i. Th

ng thì đây

ố ớ

ượ

ườ

không ph i là đi u b n mu n; mà b n mu n huy đ ng m t m ng m i r i sao chép các ph n t t m ng

ớ ồ

ầ ử ừ ả

này sang m ng kia.

double

[] b =

new double

[3];

int

i = 0;

while

(i < 4) {

b[i] = a[i]; i++;

}

12.3 M ng và đ i t

ng

ố ượ

M ng gi ng v i đ i t

ng nhi u đi m:

ớ ố ượ

Khi khai báo m t bi n m ng, b n nh n đ

c tham chi u đ n m ng.

ế

ượ

ế

ế

B n ph i dùng

new đ t t o ra m ng.

ể ự ạ

Khi truy n m ng làm đ i s , b n truy n m t tham chi u, nghĩa là ph

ng th c đ

c kích ho t có th

ố ố ạ

ế

ươ

ứ ượ

thay đ i n i dung c a m ng.

ổ ộ