- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数 组
完成时间:2009年12月3日-2009年12月4日
数组的内存布局与常见算法
概念
数组可以看成是多个相同类型数据组合,对这些数据的统一管理
数组变量属于引用类型,数组可以看成是对象,数组中的每个元素相当于该对象的成员变量
数组中的元素可以是任何数据类型,包括基本型和引用类型
一维数组
声明:type var[ ]; 或者 type [ ] var
例如:int a1[ ]; int[ ] a2;
double b[ ];
Person[ ] p1; //person对象的引用
String s1[ ]; //String对象的引用
注意:java语言中声明数组时不能指定其长度(数组中元素个数),例如 int a[5]; //非法
数组对象创建(内存分析)
Java中使用关键字new创建数组对象:
数组名 = new 数组元素的类型 [数组元素的个数]
栈内存S NULL堆内存例如:
栈内存
S NULL
堆内存
Public class Test{
Public static void main(String args[ ]){
int[ ] s; @
S = new int[5]; @
For (int I = 0 ; I 5 ; i++){
Java分配5个小格,自动做初始化,int类型堆内存0 0
Java分配5个小格,自动做初始化,int类型
堆内存
0 0
0 1
0 2
0 3
0 4
栈内存
S ****
} @
}
}
元素为引用数据类型的数组注意:元素为引用数据类型的数组中的每一个元素都需要实例化
例如:
栈内存days堆内存****public class Test {
栈内存
days
堆内存
****
public static void main(String args[] ){
Date[ ] days; @
Days = new Date[3];@
for ( int I =0 ;i 3 ; i++ ){
days[ I ] = new Date(2004,12,i+1);
}@
****栈内存days堆内存NullNull
****
栈内存
days
堆内存
Null
Null
null
}
class Date{
int year; int month ; int day;
Date( int y, int m, int d){
year = y ; month = m; day = d;
栈内存days}
栈内存
days
堆内存 ****}
堆内存
****
数组初始化
动态初始化:数组定义与数组元素分配空间和赋值的操作开始进行
静态初始化:在定义数组的同时就为数组元素分配空间并赋值
public class Test {
public static void main(String args[] ){
int a[ ];
a = new int[ 3 ];
a[0] = 3 ; a[1] = 9 ; a[2] = 8;
Date days[ ];
Days = new Date[3];
Days[0] = new Date(1,4,2004);
Days[0] = new Date(1,4,2004);
Days[0] = new Date(1,4,2004);
}
}
class Date{
int year; int month ; int day;
Date( int y, int m, int d){
year = y ; month = m; day = d;
}
}
public class Test {
public static void main(String args[] ){
int a[ ] = { 3 ,9 ,8};
Date days[ ] = {
new Date(1,4,2004),
new Date(1,4,2004),
new Date(1,4,2004)
};
}
}
class Date{
int year; int month ; int day;
Date( int y, int m, int d){
year = y ; month = m; day = d;
}
}
数组元素的默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被安装成员变量的规则被隐式初始化
public class Test {
public static void main(String args[] ){
int a[ ] = new
原创力文档


文档评论(0)