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.
ổ ộ
ủ
ả