




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
--数组申明与使用1.数组概念2.一维数组申明与初始化3.数组访问4.增强for循环(foreach)5.二维数组申明与初始化数组概述3数组是用来存放一组相同类型数据数据结构数组变量属于引用数据类型数组中元素能够是任何数据类型 (基本类型和引用类型)数组被创建好之后,它大小是不能改变,不过数组中各个元素是能够被改变一维数组申明一维数组申明方式:数据类型[]数组变量名;或
数据类型
数组变量名[];比如:inta[];doubleb[];Mydate[]c;Java语言中申明数组时不能指定其长度(数组中元素个数),而需要在数组创建阶段来指定。比如:inta[5];//非法4数组对象创建Java中使用关键字new创建数组对象,指定数组大小,给数组元素存放分配空间。格式:数组变量名=new数组元素类型[数组元素个数];数组初始化在创建成功一个数组之后,它将完成以下三个动作:1.创建一个数组对象2.在内存中给数组分配存放空间3.给数组元素初始化一个对应数据类型默认值.在创建完数组后,能够对数组进行初始化,也就是给数组各个元素进行赋值。能够采取两种方式为数组进行初始化:静态初始化动态初始化6数组静态初始化在数组定义同时,对数组进行初始化
比如:inta[]={1,3,5,7,9,11};Strings[]={“a”,”b”,”c”};
注意:数组大小由大扩号里元素个数决利用这种方式进行数组初始化,其实完成了三步动作:数组申明数组创建数组初始化7数组动态初始化所谓数组动态初始化,就是将数组定义和数组初始化分开来进行。例子: inta[]=newint[2]; a[0]=1; a[1]=10;或者:
int[]a; a=newint[10]; for(inti=0;i<10;i++){ a[i]=2*i+1; }8基本数据类型数组定义在定义数组时候,系统会给这个数组分配用于存放这个数组内存空间。它会在栈内存空间
中(Heap)给数组分配一个空间用来存放数组引用变量。以int类型数组为例:intarr[];栈内存堆内存基本数据类型数组创建在创建简单数据类型数组时候,系统会分配适当空间用来存放该种数据类型数据内存空间(分配在堆内存中),而且将这个数组各个元素赋一个和数组类型匹配初值。arr=newint[10];10栈内存0000000000堆内存arr基本数据类型数组创建对于简单数据类型数组,当对其进行初始化时,会将对应值付给对应各个数组元素。比如:intarr[]=newint[10];for(inti=0;i<10;i++){arr[i]=i+1;}11arr栈内存1int[]对象2345678910堆内存引用数据类型数组定义引用类型数组定义和简单类型数据类型数组定义相同12arr栈内存堆内存String[]arr;引用数据类型数组创建引用数据类型数组在创建时候也是首先给数组元素分配内存空间,然后给这些数组元素一个默认初始值null。栈内存arrnullString[]对象nullnullnullnullnullnullnullnullnull堆内存arr=newString[10];引用数据类型数组初始化在进行引用数据类型数组初始化时候,和简单数据类型数组初始化有些不一样,因为数组本身是引用类型,而现在数组元素也是引用类型,所以这个时候需要给数组元素所引用对象也分配内存空间。arr栈内存*****String[]对象*********************************************堆内存onetwothureefourfivesixseveneightninetenString对象arr[0]=newString(“one”);arr[1]=newString(“two”);……arr[9]=newString(“ten”);数组元素引用数组在定义并为之分配空间后,才能够引用数组中每个元素数组元素引用方式:arrayName[index]index为数组元素下标(索引)数组元素下标从0开始;长度为n数组,下标取值范围:0~n-1;15数组元素引用每个数组都有一个属性length指明它长度,比如:arr.length可获取数组arr长度;元素索引必须小于数组长度,不然会产生数组越界异常publicclassTestArray{publicstaticvoidmain(String[]args){int[]a={2,4,6,7,3,5,1,9,8};for(inti
=
0;i
<
a.length;
i++){ System.out.print(a[i]+"");}
}}16增强for循环在JDK5.0中新增了一个增强for循环语法:例:int[]arr={2,4,6,7,3,5,1,9,8};for(int
element
:
arr){System.out.print(element+"");}for(typeelement:array){System.out.println(element);}17增强for循环缺点:遍历数组或集合时无法访问索引(下标)值用途:只适合遍历显示数组或集合中元素内容。18二维数组Java并没有真正多维数组,二维数组能够看成以数组为元素数组。如:int[][]a={{1},{4,5,6},{7,8}};堆内存栈内存0xde5080int[][]a0xde5080对象首地址0xde60660xde52120xde8210178456
a[0][0]
a[1][0]
a[1][1]
a[1][2]
a[2][0]
a[2][1]19二维数组初始化动态初始化int[][]a=newint[4][5];int[][]b=newint[3][];b[0]=newint[2];b[1]=newint[3];b[2]=newint[5];
静态初始化:int[][]array={{1,2},{2,3},{3,4,5}};int[3][2]array1={{1,2},{2,3},{4,5}};//非法20二维数组示例publicclassTest{publicstaticvoidmain(Stringargs[]){int[][]a={{1,2},{2,3,4,5},{5,6,7}}; for(inti=0;i<a.length;i++){for(intj=0;j<a[i].length;j++){System.out.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源汽车工程师考试试题及答案
- 2025年网络工程师资格考试题及答案
- 2025年风险管理与控制考试试卷及答案解读
- 2025年西方经济学基础知识考试试题及答案
- 医药行业MBO股权收购与人才发展战略整合协议
- 微信小程序电商代运营跨境电商合作框架协议
- 美妆品牌购物中心美妆专区品牌委托经营与产品研发合同
- 短视频社交型移动应用(APP)开发与运营管理协议
- 高端影视特效化妆假发胶水租赁与化妆效果优化协议
- 丹麦电商平台入驻与北欧生活方式营销服务协议
- 公安派出所优质建筑外观形象设计基础规范
- 第8章审计抽样练习题结合9销售循环
- 世界民族音乐鉴赏之欧洲篇课件
- 入团志愿书(2016版本)(可编辑打印标准A4) (1)
- 语文老师家长会PPT
- T梁台座计算书
- 01-《数值分析》实验指导书
- 第四章 潜孔钻机
- 佳能700D单反相机拍摄技巧[技巧]
- 农产品批发市场管理技术规范编制说明
- 重庆市婚姻介绍合同协议书范本模板
评论
0/150
提交评论