數(shù)組
按數(shù)據(jù)結(jié)構(gòu)分:一維數(shù)組,二維數(shù)組,多維數(shù)組
用來(lái)存放一連串相關(guān)的數(shù)據(jù)
一維數(shù)組
有序數(shù)據(jù)的集合,存放著相同的數(shù)據(jù)類型
聲明與內(nèi)存的分配
步驟:
1.聲明數(shù)組
2.分配內(nèi)存給該數(shù)組
即:
數(shù)據(jù)類型 數(shù)組名[];
數(shù)組名=new 數(shù)據(jù)類型[個(gè)數(shù)];
另一種命名方式:數(shù)據(jù)類型 數(shù)組名稱=new 數(shù)據(jù)類型[];
數(shù)組中元素的表示方法
public static void main(String args[])
{
int a[];
a=new int[3];
int i;
for(i=1;i<=3;i++)
{
System.out.print("a["+i+"]="+(a[i])+",\t");
}
System.out.println("\n數(shù)組長(zhǎng)度為:"+a.length);
}
在Java中取得數(shù)組的長(zhǎng)度(即數(shù)組元素的個(gè)數(shù))格式為:數(shù)組名.length
數(shù)組初值的賦值
public static void main(String args[])
{
int i;
int a[]={5,6,8};
for(i=0;i<a.length;i++)
{
System.out.print("a["+i+"]="+a[i]+"\t");
}
System.out.println("\n數(shù)組長(zhǎng)度為:"+a.length);
}
除了在聲明時(shí)賦初值,還可以單獨(dú)給數(shù)組元素賦值,例:
int a[]=new int[];
a[0]=5;
a[1]=6;
a[2]=8;
數(shù)組應(yīng)用范圍
public static void main(String args[])
{
int i,max,min;
int A[]={74,48,30,17,62};
min=max=A[0];
System.out.print("數(shù)組A的元素包括:");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
if(A[i]>max)
max=A[i];
if(A[i]<min)
min=A[i];
}
System.out.println("\n數(shù)組的最大值是:"+max);
System.out.println("\n數(shù)組的最小值是:"+min);
}
與數(shù)組操作有關(guān)的API方法
數(shù)組的拷貝操作
public static void main(String args[])
{
int a1[]={1,2,3,4,5};
int a2[]={9,8,7,6,5,4,3};
System.arraycopy(a1,0,a2,0,3);
System.out.print("a1數(shù)組中的內(nèi)容:");
for (int i=0;i<a1.length;i++)
System.out.print(a1[i]+"");
System.out.println();
System.out.print("a2數(shù)組中的內(nèi)容");
for(int i=0;i<a2.length;i++)
System.out.print(a2[i]+"");
System.out.println("\數(shù)組拷貝完成");
}
拷貝的格式
Syetem.arraycopy(source,0,dest,0,x);
數(shù)組的排序
import java.util.*;
public static void main(String args[])
{
int a[]={4,32,45,32,65,32,2};
System.out.print("數(shù)組排序前的順序:");
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
Arrays.sort(a);
System.out.print("\n數(shù)組排序后的順序:");
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
}
Arrays.sort()這個(gè)方法在java.util這個(gè)包里,使用這個(gè)方法要先導(dǎo)入這個(gè)包
二維數(shù)組
二維數(shù)組的聲明與內(nèi)存分配:
數(shù)據(jù)類型 數(shù)組名[][];
數(shù)組名=new 數(shù)據(jù)類型[行的個(gè)數(shù)][列的個(gè)數(shù)];
另:
數(shù)據(jù)類型 數(shù)組名[][]=new 數(shù)據(jù)類型[行的個(gè)數(shù)][列的個(gè)數(shù)];
賦初值
數(shù)據(jù)類型 數(shù)組名[][]=
{
列:
行: {第0行初值},
{第1行初值},
{第2行初值},
‘’‘’‘’
{第n行初值}
}
1.java允許每行的元素的個(gè)數(shù)不同
2.可以取得二維數(shù)組的行數(shù)與特定行的元素的個(gè)數(shù),列:
數(shù)組名.length //取得數(shù)組的行數(shù)
數(shù)組名[行的索引].length //取得特定行元素的個(gè)數(shù)
二維數(shù)組元素的訪問(wèn)與引用
public static void main(String args[])
{
int i,j,sum=0;
int num[][]={{30,35,26,32},{33,34,30,29}};
for(i=0;i<num.length;i++)
{
System.out.print("第"+(i+1)+" 個(gè)人的成績(jī)?yōu)椋?);
for(j=0;j<num[i].length;j++)
{
System.out.print(num[i][j]+"");
sum+=num[i][j];
}
System.out.println();
}
System.out.println("\n總成績(jī)是"+sum+"分!");
}
多維數(shù)組
8.5上機(jī)
public static void main(string atgs[])
{
int max,min;
int a[]={25,24,12,76,98,101,90,28};
min=max=a[0];
for(int i=0;i<a.length;i++)
{
if(max>a[i])
max=a[i];
if(min<a[i])
min=a[i];
System.out.print("a["+i+"]="+a[i]+"\t");
}
System.out.print("\n最大值為"+max);
System.out.print("\n最小值為"+min);
} |