- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.1 数组的基本概念;为了充分地理解数组的概念,首先介绍一下Java有关内存分配的知识。Java把内存分为两种:栈内存和堆内存。
在方法中定义的一些基本类型的变量和对象的引用变量都在方法的栈内存中分配,当在一段代码块中定义一个变量时,Java就在栈内存中为这个变量分配内存空间,当超出变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 ;堆内存用来存放由new运算符创建的对象和数组,在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。???堆中创建了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中的这个变量的取值等于数组或对象的在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量,引用变量实际上保存的是数组或对象在内存中的地址(也称为对象的句柄),以后就可以在程序中使用栈的引用变量来访问堆中的数组或对象。引用变量就相当于是为数组或对象起的一个名称。 ; ●数组是相同数据类型的元素的集合; ● 数组中的各元素是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起; ● 数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的每二个元素,依次类推。;一维数组是最简单的数组,其逻辑结构是线性表。要使用一维数组,需要经过定义、初始化和应用等过程。 ;5.2.1 一维数组的定义;数组声明之后,接下来便是要分配数组所需的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以“new”运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。 ;创建数组;为数组分配内存空间(1);为数组分配内存空间(2);为数组分配内存空间(3);5.2.2一维数组元素的访问;确定数组的大小;访问数组元素 ;【例5.1】声明一个一维数组,其长度为5,利用循环对数组元素进行赋值,然后再利用另一个循环逆序输出数组元素的内容。程序代码如下:;//app5_1.java 一维数组
public class app5_1
{
public static void main(String args[ ])
{
int i;
int a[]; //声明一个数组a
a=new int[5]; //分配内存空间供整型数组a使用,其元素个数为5
for(i=0;i5;i++) //对数组元素进行赋值
a[i]=i;
for(i=a.length-1;i=0;i--) //逆序输出数组的内容
System.out.print(“a[”+i+”]=”+a[i]+”,\t”);
System.out.println(“\n数组a的长度是:”+a.length);
}
};该程序的运行结果如下:
a[4]=4, a[3]=3, a[2]=2, a[1]=1, a[0]=0
数组a的长度是:5;5.2.3 一维数组的初始化及应用;【例5.2】设数组中有n个互不相同的数,不用排序求出其中的最大值和次最大值。
//app5_2.java 比较数组元素值的大小
public class app5_2
{
public static void main(String args[ ])
{
int i,Max,Sec;
int a[]={8,50,20,7,81,55,76,93}; //声明数组a,并赋初值
if (a[0]a[1])
{
Max=a[0]; // Max存放最大值
Sec=a[1]; // Sec存放次最大值
}
else
{
Max=a[1];
Sec=a[0];
} ; System.out.print(“数组的各元素为:”+a[0]+” “+a[1]);
for(i=2;ia.length;i++)
{
System.out.print(” ” + a[i]); //输出数组a中的各元素
if (a[i]Max) //判断最大值
{
Sec=Max; //原最大值降为次最大值
Max=a[i]; //a[i]为新的最大值
}
else //即a[i]不是新的最大值,但若a[i]大于次最大值
if (a[i]Sec) Sec=a[i]
您可能关注的文档
- 顶板灾害防治课件.pptx
- 电子云与原子鸿特规则泡利原理.pptx
- 经济学scheduling调与规划.pptx
- 燃料与燃烧过程.pptx
- 电路单元第一天.pptx
- 连续函数性质.pptx
- 教科五年级下册.pptx
- 电工技术作业.pptx
- 高一化学苏教必修一氧化还原反应.pptx
- sya使用手册t学习.pptx
- 【抗战胜利80周年】铭记伟大胜利汲取奋进力量抗战胜利80周年.pptx
- 2025年大唐国际系统企业招聘笔试备考题库(带答案详解).pdf
- 2025年西咸新区空港新城招聘笔试备考题库(带答案详解).pdf
- 2025金威消防固定式消防炮使用说明书.docx
- 26版高中语文复习方略专题七 第三节 第1讲 活动一 正确理解运用实词、虚词.docx
- 26版高中语文复习方略专题七 第三节 第4讲 活动二 补写句子,语句表达连贯.docx
- 26版高中语文复习方略专题七 第三节 第5讲 正确使用修辞手法.docx
- 26版高中语文复习方略专题七 第三节 第6讲 赏析词句表达效果.docx
- 26版高中语文复习方略专题七 第三节 第7讲 选用、仿用、变换句式.docx
- 26版高中语文复习方略专题七 第三节 第8讲 活动二 压缩语段,明晰压缩类型.docx
最近下载
- 人工胆囊、人工胆囊设备和人工胆囊在胆囊手术中的应用.pdf VIP
- 重力与弹力高一上学期物理人教版2019必修第一册+.pptx VIP
- 胃癌的诊治现状与进展.pptx VIP
- 匀变速直线运动的速度与时间的关系课件 2024-2025学年高一上学期物理人教版(2019)必修第一册.pptx VIP
- 数控压装压力机 第2部分:技术条件.docx VIP
- 【课件】匀变速直线运动速度与时间的关系+课件-高一上学期物理人教版(2019)必修第一册.pptx VIP
- XX医院职能部门监管手术、麻醉授权管理督导、检查、总结、反馈及持续改进记录表.pdf VIP
- 电力调度数据网络接入技术规范及网络拓扑图.doc VIP
- ZZGA高频开关整流器使用说明书.doc
- 危重患者院内转运PPT.pptx VIP
文档评论(0)