KDL tên_m ng[];//Khai báo mt con t rm ng

Một phần của tài liệu Lập trình hướng đối tượng (Trang 31 - 34)

- KDL []tên_m ng;//nh trên- KDL tên_m ng[] = new KDL[spt];//T o ra m t m ng có spt ph n t - KDL tên_m ng[] = new KDL[spt];//T o ra m t m ng có spt ph n t Trong cú pháp trên thì: Ø KDL là m t ki u d li u b t k nh : ki u nguyên th y, ki u i t ng… nó xác nh ki u d li u c a t ng ph n t c a m ng. Ø Spt là s ph n t c a m ng. Chú ý: Ø M ng trong Java là m t i t ng

Ø C ng nh các i t ng khác, m ng ph i c t o ra b ng toán t new nh sau:

Tên_m ng=new KDL[spt];

Ø Khi m ng c t o ra thì m i ph n t c a m ng s nh n m t giá tr m c nh, quy t c kh i t o giá tr cho các ph n t c a m ng c ng chính là quy t c kh i u giá tr cho các thu c tính c a i t ng, t c là m i ph n t c a m ng s nh n giá tr :

+ 0 n u KDL là ki u s + ‘\0’ n u KDL là kí t + false n u KDL là boolean

+ null n u KDL là m t l p nào ó.

Ví d 1:Khai báo m t m ng s nguyên g m 100 ph n t Cách 1:

int mangInt[]; //Khai báo m t con tr n m ng các s nguyên mangInt=newint[100]; //T o ra m ng

Cách 2:

int mangInt[]=newint[100];

Ví d 2: Gi s ta có l p SinhVien ã c nh ngh a, hãy khai báo m t m ng g m 100 i t ng c a l p SinhVien

SinhVien arraySinhVien[]=newSinhVien[100];

Chú ý:Lúc này m i ph n t c a m ng arraySinhVien là m t con tr c a l p SinhVien và hi n gi m i ph n t c a m ng ang tr n giá tr null. kh i t o t ng ph n t c a m ng ta ph i làm nh sau:

arraySinhVien[0]=newSinhVien(“sv01”, “Nguy n V n An”, “H ng Yên”); arraySinhVien[1]=newSinhVien(“sv02”, “Nguy n Th Bình”, “B c Giang”); ….

arraySinhVien[99]=newSinhVien(“sv100”, “ ào Th M n”, “Hà Nam”);

Ngoài cách khai báo trên Java còn cho phép ta k t h p c khai báo và kh i gán các ph n t c a m ng theo cách sau:

int[] mangInt = {1, 3, 5, 7, 9};

T o ra m t m ng g m 5 ph n t , các ph n t c a m ng l n l t c gán các giá tr là: 1, 3, 5, 7, 9

SinhVien[] mangSinhVien = {

newSinhVien(“sv01”, “Nguy n V n A”, “HY”),

newSinhVien(“sv02”, “Nguy n Th B”, “HN”),

newSinhVien(“sv03”, “ Th Q”, “BG”), null

};

Khai báo m t m ng g m 4 ph n t , giá tr c a các ph n t l n l t c kh i gán nh sau: mangSinhVien [0]=newSinhVien(“sv01”, “Nguy n V n A”, “HY”)

mangSinhVien [1]=newSinhVien(“sv02”, “Nguy n Th B”, “HN”) mangSinhVien [2]=newSinhVien(“sv03”, “ Th Q”, “BG”) mangSinhVien [3]=null

b) Truy x t n các ph n t c a m ng m t chi u

truy xu t n ph n t th ind c a m ng ta s d ng cú pháp nh sau: Tên_m ng[ind-1]

Chú ý: Ph n t u tiên c a m ng có ch s là 0. Ví d :

int a[]=new int [3]; //Khai báo và t o ra m ng g m 3 ph n t Lúc này các ph n t c a m ng l n l t c truy xu t nh sau:

- Ph n t u tiên c a m ng là a[0] - Ph n t th 2 c a m ng là a[1]

- Ph n t th 3 ng th i là ph n t cu i cùng c a m ng là a[2]

c) L y v s ph n t hi n t i c a m ng

M ng trong Java là m t i t ng, do v y nó c ng có các thu c tính và các ph ng th c nh các i t ng khác. l y v s ph n t c a m ng ta s d ng thu c tính length nh sau: Tên_m ng.length Ví d 1: Nh p vào m t m ng và in ra màn hình importcom.theht.Keyboard; classArrayDemo{

public static voidmain(String[] args) { //Nh p s ph n t c a m ng

System.out.print("Nh p s ph n t c a m ng:"); int n=Keyboard.readInt();

//Khai báo m ng v i s ph n t b ng n int a[]=newint[n];

//Nh p d li u cho m ng

for(int i=0;i<a.length;i++){

System.out.print("a[" + i + "]="); a[i]=Keyboard.readInt();

}

//In m ng ra màn hình

System.out.println("M ng v a nh p là");

for (int i = 0; i < a.length; i++) System.out.print(a[i] + " "); }

Ví d 2: Nh p vào m t m ng s th c sau ó ki m tra xem m ng có ph i là m t dãy t ng hay không?

importcom.theht.Keyboard;

classArrayDemo2{

public static voidmain(String[] args) { //Nh p s ph n t c a m ng

System.out.print("Nh p s ph n t c a m ng:"); int n=Keyboard.readInt();

//Khai báo m ng v i s ph n t b ng n int a[]=newint[n];

//Nh p d li u cho m ng

for(int i=0;i<a.length;i++){

System.out.print("a[" + i + "]="); a[i]=Keyboard.readInt();

}

//Ki m tra dãy t ng boolean kt=true;

for (int i = 0; i < a.length-1; i++)

if(a[i+1]-a[i]<0){ kt=false;//thay i tr ng thái c break;//Thoát kh i vòng l p } if(kt) System.out.println("Dãy t ng d n"); else System.out.println("Dãy không ph i t ng d n"); } } 2. M ng nhi u chi u a) Khai báo

Khai báo m ng N chi u trong Java c ti n hành nh sau:

ho c

Trong ó:

Ø KDL là m t ki u d li u b t k : nguyên thu ho c l p

Ø sp1, sp2, …, sptN l n l t là s ph n t trên chi u th 1, 2, .., N Ví d :

- Khai báo m t con tr c a m ng 2 chi u

int[][] a; ho cint a[][];

Ø Khai báo và t o ra m ng 2 chi u:

int[][] a = new int[2][3]; // Ma tr n g m 2 hàng, 3 c t

KDL [][]…[] tên_m ng; N l n KDL tên_m ng [][] [] ; N l n KDL tên_m ng [][]…[] =new KDL[spt1][spt2]…[sptN]; N l n

- Khai báo và kh i gán giá tr cho các ph n t c a m ng 2 chi u: int a[][]={ {1, 2, 5}. //Các ph n t trên hàng th nh t {2, 4, 7, 9}. //Các ph n t trên hàng th hai {1, 7}. //Các ph n t trên hàng th ba }

Khai báo trên s t o ra m t m ng hai chi u g m: 3 hàng, nh ng trên m i hàng l i có s ph n t khác nhau, c th là: trên hàng th nh t có 3 ph n t , h ng 2 g m 4 ph n t và hàng th 3 g m 2 ph n t .

Chú ý: V i khai báo trên n u ta li t kê các ph n t c a m ng theo trình t t trái qua ph i và t trên xu ng d i thì các ph n t l n l t là:

a[0][0], a[0][1], a[0][2], a[1][0], a[1][1], a[1][2], a[1][3], a[2][0], a[2][1]

b) Truy xu t n ph n t m ng nhi u chi u

tên_m ng[ind1][ind2]

Ví d 1: Nh p vào m t ma tr n và in ra màn hình

importcom.theht.Keyboard;

classMaTram {

public static void main(String[] args) { //Nh p s hàng và s c t

System.out.print("Nh p s hàng:"); int sh = Keyboard.readInt();

System.out.print("Nh p s c t:"); int sc = Keyboard.readInt();

//Khai báo m ng hai chi u g m sh hàng và sc c t float a[][] =newfloat[sh][sc];

//Nh p d li u cho m ng hai chi u

for (int i = 0; i < a.length; i++)

for (int j = 0; j < a[i].length; j++) {

System.out.print("a[" + i + "," + j + "]="); //Nh p li u cho ph n t hàng i, c t j a[i][j] = Keyboard.readFloat(); }

//In m ng hai chi u ra màn hình

for (int i = 0; i < a.length; i++) {

for (int j = 0; j < a[i].length; j++) System.out.print(a[i][j] + " "); System.out.println();

} } } }

Ví d 2: Nh p vào ma tr n vuông sau ó tính t ng các ph n t trên ng chéo chính.

Một phần của tài liệu Lập trình hướng đối tượng (Trang 31 - 34)

Tải bản đầy đủ (PDF)

(55 trang)