java数组操作及遍历
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数组操作
1、数组的初始化
数组初始化就是为数组元素分配存储空间,并为每个数组元素指定初始值,数组的初始化有静态的和动态初始化两种方式。
静态数组初始化时只需要指定每个元素的初始值,并由系统决定数组长度,格式如下
元素类型[]数组名={值1,值2,、、、值N};
比如: int []a={1,41,34,45};
动态初始化,即是new的工作过程,根据指定的数组长度开辟内存存储空间,并为每个数组单元指定默认值,整型默认值是0,小数型默认是0.0,char默认值是'\u0000',复合数据类型的初始值是null.
2、length属性与C语言的数组不同的是,java数组提供了length属性,表示数组元素个数。比如,“int a=new int[5];”,a.length的值就是5,通过length的属性可以安全访问数组,可以避免访问数组出现越界的问题。
3、访问数组元素
与C语言一致,Java数组下标从0开始。一位数组下标的范围:0~数组名.length-1。通过具体下标即可访问数组元素。例32 遍历数组就是访问数组的每一个元素,这是数组最常用的操作,编写程序ArrayTest.java,代码如下。
public class ArrayTest{//遍历数组
public static void nain(String[] args){
int []a=new int [10];
//输出默认初值
for(int i=0;i
System.out.print(" ");
for(int i=0;i
for(int i=0;i
//遍历输出数组
for(int i=0;i
System.out.print(" ");
}
}
二维数组
二维数组是一维数组的扩展,可以把二维数组看做特殊的一维数组,其每一个元素是一个一维数组。一维数组和二维数组使用是比较多,多维数组很少使用,所以只讲到二维数组。二维数组的定义如下。
数组元素类型[][]数组名=new 数组元素类型[长度1][长度2];
例34 用二维数组很容易解决杨辉三角的问题。杨辉三角如下所示。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
、、、、、、、、、
杨辉三角是个二维图形,可以使用二维数组存储。很容易发现杨辉三角的规则;第一列和斜边都是1.其它元素的值等于上一行同列的元素加上前一列的元素之和,用数组表示为a[i][j]=a[i-1][j-1]+a[i-1][j];按照这个思路编写Young.java;首先定义一个10行10列的二维数组然后对对第一列和对角线赋值为1,再按照这个a[i][j]=a[i-1][j-1]+a[i-1][j];公式对其他元素赋值。具体代码如下:
public class Young{//二维数组 杨辉三角
public static void main(String[] args){
int i=0,j=0,N=10;
int [][]y=new int[N][N];//数组
元素可以是变量
//为第一列和对角斜线赋值1;
for(i=0;i
//按递推公式求解其它元素的值
for(i=2;i
//输出杨辉三角
for(i=0;i
System.out.printlf("%6d",y[i][j]);
System.out.printlf("\n");
}
}
}
2.10.5 for 与数组
在VB语言中有foreach循环语句,方便对数据集合遍历,C#语言也继承了foreach循环语句。java5增加了for循环功能,格式如下。for(元素类型 元素变量名;数组名或集合名){循环体语句;}
例35 下面通过程序foreach.java演示增强型for循环遍历数组的用法,并通过的for循环做了比较,代码如下
public class foreach{
public static void main(String[] args){
String[] str={"Java","C#","PHP",C++"};//字符串数组
//foreach遍历数组
for(String s:str)
System.out.println(s+" ");
//普通for循环遍历数组
for( int i=0;i
}
}
package
定义包
在java源程序中可以创建包来方便地组织自己的类代码,并将自己的类代码与别人提供代码库分开管理。声明一个包的语句需要在源程序文件的第一行,通过关键字package创建包,创建一个包的格式为: package 包名;
包名可以是一个合法的标识符,如果源程序中缺省包名,则源程序中定义的类默认属于无名包。此外,在一个包中,还可以声明包,即包中还有子包,中间经过"."分割,可见包的结构类似于目录结构。
存储目录
无包名的类存放到当前工作目录下,有包名的java类源文件存到有对应的目录结构下。
java