您的位置:首页 > 编程语言 > Java开发

java自学篇之数组1

2016-07-11 14:33 267 查看

第四章 数组与方法

若想要存放一连串相关的数据,使用数组是个相当好用的选择。此外,如果某个程序片段经常反复出现,那么将它定义成一个方法可以有效地简化程序代码。数组是由一组相同类型的变量所组成的数据类型,它们以一个共同的名称表示。

一维数组

一维数组可以存放上千万个数据,并且这些数据的数据类型相同。

一维数组的声明和内存存储

一维数组的声明和内存的分配数据类型数组名[ ] ; // 声明一维数组数组名 = new 数据类型[个数] ; // 分配内存给数组数组的数据类型和变量的数据类型一样,数组名的命名原则本着简单明了,和标识符的命令原则一样,这里实用new关键字来定义数组的个数,也就是在内存中存储多少个数据。实例: int a[]; //声明一个int类型的a数组 a = newint[3]; //分配的内存空间是存储3个元素声明数组的时候同时分配内存空间数据类型数组名[] = new 数据类型[个数]int a[] = new int[3]在这个内存的存储上占多少个字节呢,一个int 型数据占4个字节,这个a数组有3个元素,所有在内存中的大小为3*4=12个字节。

数组元素的表示方法

想要使用数组里的元素,可以利用索引来完成。Java 的数组索引编号由 0 开始,以上一节中的a数组为例, a[0]代表第1个元素, a[1]代表第2个元素,a[2]代表第3个元素。
实例
public classjava41
{
public static void main(String []args)
{
int i,a[];
a=new int[3];
for(i=0;i<3;i++)
System.out.print("a["+i+"]="+a[i]+",\t");
System.out.println("\n shu zu chang dushi :"+a.length);
}
}
这里实用了一个参数是.length,是获取数组的长度
格式:数组名.length

数组的赋值

数据类型数组名[] = {初值 0,初值 1,…,初值 n}(一般程序中实用这种格式来声明数组和分配内存)int a[] = { 1,2,3,4,5 }也可以先声明数组在赋值Int a[] = new int[];a[0] = 1;a[1] = 2;a[2] = 3;实例:数组中的最大值和最小值public class java42{ public static void main(String [] args) { int max,min,i,a[]={23,56,28,72,97}; max=min=a[0]; System.out.print("shu zu yuan su : "); 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 shu zu max: "+max); System.out.println("shu zu min: "+min); }}实例:数组内元素的排序,实用的关键字是sort 方法对数组进行排序,Arrays.sort(数组名)为数组排序的操作。
importjava.util.*;
public classjavasz
{
public static void main(String [] args)
{
int a[] = {4,8,23,21,46,33,2,1};
int b;
b=a.length;
System.out.print("shu zu pai xu qianshun xu : ");
for(int i=0;i<b;i++)
System.out.print(a[i]+" ");
Arrays.sort(a);
System.out.print("\n shu zu pai xu houde xu lie : ");
for(int i=0;i<b;i++)
System.out.print(a[i]+"");
}
}
这个例子中实用了这个包的概念,这里只是一提,等后期还会详细讲解。

二维数组和多维数组

二维数组的声明格式

数据类型数组名[][] ;
数组名 = new 数据类型[行的个数][列的个数] ;
二维数组的声明格式
数据类型数组名[][] = new 数据类型[行的个数][列的个数] ;
二维数组的声明和赋值
数据类型数组名[][] = { {第 0 行初值},
{第1 行初值},

{第n 行初值},
};
要特别注意的是,用户不需要定义数组的长度,因此在数组名后面的中括号里不必填入任何的内容。此外,在大括号内还有几组大括号,每组大括号内的初值会依序指定给数组的第 0、1、…、n 行元素。
实例:
int sum[][] = {
{20,30,25},{33,24,54},}值得一提的是 Java 允许二维数组中每行的元素个数均不相同,这点与一般的程序语言是不同的。
Int a[][] = {
{43,87,74}, {32,44,24,98}, {23,42,65},}取得二维数组的行数与特定行的元素的个数
数组名.length // 取得数组的行数
数组名[行的索引].length // 取得特定行元素的个数
二维数组的使用
实例
public classjavaew
{
public static void main(String [] args)
{
int a[][]={
{63,72,59},
{78,49,64}
};
int i,j,sum;
sum = 0;
for(i=0;i<a.length;i++)
{
System.out.print("di yi hang neirong :");
for(j=0;j<a[i].length;j++)
{
System.out.print(a[i][j]+"");
sum+=a[i][j];
}
System.out.println();
}
System.out.println("\n zong cheng ji shi: "+sum);
}
}
三维数组,和二位数组的声明和赋值格式一样,但是在再输出的时候加一个for循环。
实例:
public classjava43
{
public static void main(String [] args)
{
int i,j,k;
int sz[][][] ={{{2,34,24,45},{23,55,32,4}},{{32,43,34,3},{43,54,21,4}}};
for(i=0;i<sz.length;i++)
for(j=0;j<sz[i].length;j++)
for(k=0;k<sz[j].length;k++)
{
System.out.print("su["+i+"]["+j+"]["+k+"]= ");
System.out.println(sz[i][j][k]);
}

}
}
这里容易出错的位置是数组赋值的时候。容易混淆,慢慢来希望你能成功。

第四章 数组与方法

若想要存放一连串相关的数据,使用数组是个相当好用的选择。此外,如果某个程序片段经常反复出现,那么将它定义成一个方法可以有效地简化程序代码。数组是由一组相同类型的变量所组成的数据类型,它们以一个共同的名称表示。

一维数组

一维数组可以存放上千万个数据,并且这些数据的数据类型相同。

一维数组的声明和内存存储

一维数组的声明和内存的分配数据类型数组名[ ] ; // 声明一维数组数组名 = new 数据类型[个数] ; // 分配内存给数组数组的数据类型和变量的数据类型一样,数组名的命名原则本着简单明了,和标识符的命令原则一样,这里实用new关键字来定义数组的个数,也就是在内存中存储多少个数据。实例: int a[]; //声明一个int类型的a数组 a = newint[3]; //分配的内存空间是存储3个元素声明数组的时候同时分配内存空间数据类型数组名[] = new 数据类型[个数]int a[] = new int[3]在这个内存的存储上占多少个字节呢,一个int 型数据占4个字节,这个a数组有3个元素,所有在内存中的大小为3*4=12个字节。

数组元素的表示方法

想要使用数组里的元素,可以利用索引来完成。Java 的数组索引编号由 0 开始,以上一节中的a数组为例, a[0]代表第1个元素, a[1]代表第2个元素,a[2]代表第3个元素。
实例
public classjava41
{
public static void main(String []args)
{
int i,a[];
a=new int[3];
for(i=0;i<3;i++)
System.out.print("a["+i+"]="+a[i]+",\t");
System.out.println("\n shu zu chang dushi :"+a.length);
}
}
这里实用了一个参数是.length,是获取数组的长度
格式:数组名.length

数组的赋值

数据类型数组名[] = {初值 0,初值 1,…,初值 n}(一般程序中实用这种格式来声明数组和分配内存)int a[] = { 1,2,3,4,5 }也可以先声明数组在赋值Int a[] = new int[];a[0] = 1;a[1] = 2;a[2] = 3;实例:数组中的最大值和最小值public class java42{ public static void main(String [] args) { int max,min,i,a[]={23,56,28,72,97}; max=min=a[0]; System.out.print("shu zu yuan su : "); 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 shu zu max: "+max); System.out.println("shu zu min: "+min); }}实例:数组内元素的排序,实用的关键字是sort 方法对数组进行排序,Arrays.sort(数组名)为数组排序的操作。
importjava.util.*;
public classjavasz
{
public static void main(String [] args)
{
int a[] = {4,8,23,21,46,33,2,1};
int b;
b=a.length;
System.out.print("shu zu pai xu qianshun xu : ");
for(int i=0;i<b;i++)
System.out.print(a[i]+" ");
Arrays.sort(a);
System.out.print("\n shu zu pai xu houde xu lie : ");
for(int i=0;i<b;i++)
System.out.print(a[i]+"");
}
}
这个例子中实用了这个包的概念,这里只是一提,等后期还会详细讲解。

二维数组和多维数组

二维数组的声明格式

数据类型数组名[][] ;
数组名 = new 数据类型[行的个数][列的个数] ;
二维数组的声明格式
数据类型数组名[][] = new 数据类型[行的个数][列的个数] ;
二维数组的声明和赋值
数据类型数组名[][] = { {第 0 行初值},
{第1 行初值},

{第n 行初值},
};
要特别注意的是,用户不需要定义数组的长度,因此在数组名后面的中括号里不必填入任何的内容。此外,在大括号内还有几组大括号,每组大括号内的初值会依序指定给数组的第 0、1、…、n 行元素。
实例:
int sum[][] = {
{20,30,25},{33,24,54},}值得一提的是 Java 允许二维数组中每行的元素个数均不相同,这点与一般的程序语言是不同的。
Int a[][] = {
{43,87,74}, {32,44,24,98}, {23,42,65},}取得二维数组的行数与特定行的元素的个数
数组名.length // 取得数组的行数
数组名[行的索引].length // 取得特定行元素的个数
二维数组的使用
实例
public classjavaew
{
public static void main(String [] args)
{
int a[][]={
{63,72,59},
{78,49,64}
};
int i,j,sum;
sum = 0;
for(i=0;i<a.length;i++)
{
System.out.print("di yi hang neirong :");
for(j=0;j<a[i].length;j++)
{
System.out.print(a[i][j]+"");
sum+=a[i][j];
}
System.out.println();
}
System.out.println("\n zong cheng ji shi: "+sum);
}
}
三维数组,和二位数组的声明和赋值格式一样,但是在再输出的时候加一个for循环。
实例:
public classjava43
{
public static void main(String [] args)
{
int i,j,k;
int sz[][][] ={{{2,34,24,45},{23,55,32,4}},{{32,43,34,3},{43,54,21,4}}};
for(i=0;i<sz.length;i++)
for(j=0;j<sz[i].length;j++)
for(k=0;k<sz[j].length;k++)
{
System.out.print("su["+i+"]["+j+"]["+k+"]= ");
System.out.println(sz[i][j][k]);
}

}
}
这里容易出错的位置是数组赋值的时候。容易混淆,慢慢来希望你能成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 程序