- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
数组
ID:SCSJ001-JavaBasicSyntax
数组
数组的声明
数组的初始化
2
数组基本概念
数组是用来存储一组相同数据类型数据的数据结构。
数组也是一种引用类型。
数组的元素可以是简单类型的数据,也可以是引用类型的数据。
数组的定义方式有两种:
type[]arr_name;
typearr_name[];
int[]a;
Date[]d;
floatb[];不推荐
Stringc[];
3
一维数组定义
在数组定义中,不能指定数组的长度,而需要在数组的创建阶段来指定
通过new操作符来创建数组对象,指定数组的大小,给数组元素的存储分配空间
int[]a=newint[20];
float[]b=newfloat[10];
String[]c=newString[5];
正确:int[]a;
错误:int[20]b;
4
数组的初始化
在创建完数组后,可以对数组进行初始化,也就是给数组的各个元素进行赋值。
静态初始化
动态初始化
int[]a={1,3,5,7,9,11};
String[]s={newString(“abc”),
newString(“123”),
newString(“xyz”)};
int[]a=newint[10];
for(inti=0;i10;i++){
a[i]=2*i+1;
}
5
简单数据类型数组的定义
在定义数组的时候,系统会给这个数组分配用于存放这个数组的内存空间.
栈
堆
null
0xa7678765
int[]arr;
arr=newint[20];
arr
0
0
…
0
0xa7678765
arr[0]
arr[1]
arr[19]
6
Student[]stu=newStudent[20];
Stringname=stu[0].getName();//报错.
stu[0]=newStudent(“Lisa”,“Male”,1,18);
Stringname1=stu[0].getName();//Lisa
引用数据类型数组的定义
栈
堆
null
0xa7678765
arr
null
null
…
null
0xa7678765
stu[0]
stu[1]
stu[19]
Lisa
Male
1
18
name
sex
grade
age
0xb7673461
0xb7673461
7
数组元素的引用
通过数组名和数组索引来引用一个数组中的元素,数组的索引从0开始到数组长度减1。
可以使用数组的一个属性length来获得数组的长度。
看数组下标超界报什么异常?
String[]s={newString(“abc”),
newString(“123”),
newString(“xyz”)};
for(inti=0;is.length;i++){
System.out.println(s[i]);
}
8
数组的遍历
类似于其他语法的foreach遍历:
String[]s={newString(“abc”),
newString(“123”),
newString(“xyz”)};
for(Stringitem:s){
System.out.println(item);
}
9
一维数组的应用练习
利用一维数组来进行冒泡排序:
对几个无序的数字进行排序,最常用的方法是所谓的冒泡排序法。这种方法每次比较两个相邻的数,将较小的放到前面,较大的放到后面,这样就可以将这些数中的最大的找出来访到最后,然后比较剩下的数,再在这些数中找出最大的来,直到所有的数字按照从小到大的顺序排列
可以用一个一维数组来存放这些需要进行排序的数字,然后对这个一维数组进行排序
10
数组
对数组排序
上面一维数组的应用中,利用一维数组来进行冒泡排序。但是,在实际应用中,可以不用自己来写算法对数组进行排序。在Arrays类中有一个静态方法sort,可以用这个类的sort方法来对数组进行升序排序(使用的是快速排序法)。
int[]a={34,23,67,12,78,0,9};
Arrays.sort(a);
for(intitem:a){
System.out.print(“%2d”,item);
}
//结果:091223346778
11
数组拷贝
您可能关注的文档
- 工商管理系进出口贸易实务汇新.pdf
- 机电设备故障诊断与维修模块一.pdf
- 介绍示例德福考试培训页kurzbeispiele简短例子.pdf
- 第13章电路初探 苏科版物理九年级上册.docx
- 第17课《盼》配套练习(基础+阅读)-部编版六年级上册.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路” 带解析.docx
- 第16讲 第15课 两汉的科技和文化.docx
- 第17课《短文两篇》之《陋室铭》知识点梳理及练习-2022-2023学年七年级语文下册古诗文专题期中期末复习(部编版)教师版.docx
- 第15章 轴对称图形与等腰三角形 综合检测 2023- 2024学年沪科版八年级数学上册.docx
- 第15课 明朝的对外关系.docx
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)