- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java程序设计(上)
2.4 数组
数组是一组相同类型变量的集合,可以使用共同的名字引用,用索引值区分。
声明数组的格式: 类型[ ] 数组名;
创建数组(分配内存): 数组名 = new 类型[数组元素的个数]
访问数组时,用索引值引用。Java中数组下标从0开始。
确定数组大小用:数组名.length
例子:BasicArray.java
数组元素初始值
创建数组并分配内存后,根据数据类型的不同,自动为每个数组元素设置不同的初值。见下表
数据类型
初值
byte
0
short
0
int
0
long
0L
float
0.0f
double
0.0d
char
\u0000
boolean
false
赋初值
可以在使用new创建数组的同时,为数组元素赋初值。语法为: 类型[ ] 数组名 = new 类型[] {初值列表}
例如:int[] score = new int[] {1,2,3,4,5,6};
注意:这种方式中,不要在new运算符后制定数组长度。
这种方式的简便写法为: 类型[ ] 数组名 = {初值列表}
例如:int[] score = {1,2,3,4,5,6}
以下程序调试结果为?
public class Test {
public static void main(String argv[]) {
int x[] = new int[2];
System.out.println(x[2]);
}
}
编译错误;
null
0
运行时出现异常
如果为X[1]呢?
for-each循环
除了使用一般的for循环遍历数组之外,还可以使用for-each循环。基本语法为:
for(类型 变量名:数组){System.out.println(变量名)//循环体}
例如:for(int temp:score){ System.out.println(temp); }
注意,变量类型必须和数组元素的类型相同。
for-each循环可以解释为:从数组中依次取出每个元素,赋值给变量,完成指定的操作。
不能在for-each循环中为数值元素赋值。
二维数组
二维数组实际上就是“一维数组的数组”。
二维数组
遍历二维数组需要嵌套循环。
二维数组很像矩阵,但每行上的列数可以不同。
例子:TwoArray.java
数组的比较
数组是对象,所以不能直接用“==”比较两个数组。
除了利用循环进行比较外,Java提供了Arrays类来方便快速的进行排序、搜索、比较等操作。
Arrays类位于java.util包中,使用时需要先导入。 import java.util.Arrays
比较两个数组可以用Arrays.equals(array1,array2)
Arrays类的其他方法参见帮助文档。
例子:ArrayCompare.java
数组的复制
要想把一个数组复制到另外一个数组,可以用循环的方式,也可以使用System类中的arraycopy方法。语法为:
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
放方法的含义是:从src数组的第srcPos个元素开始复制,复制到dest数组的第destPos个元素开始,共复制length个元素。
作业:
第三章选择题、运行结果题
第四章选择题1,3
第四章写出程序运行结果题1,3,4
文档评论(0)