java进阶(9)--数组
一、基本概念:
1、数字为引用数据类型
2、数组实际上是一个容器,可以同时容纳多个元素
3、数组可存储基本数据类型,也可以存储引用数据类型的数据
4、数组一旦创建、长度不可变、且数组中元素类型必须统一
5、数组可以通过Length获取长度
6、数组中每个元素都有下标,0开始,以1递增,最后一个元素下标:Length-1
7、数组优点:查询某个下标的元素时候效率较高
8、数组缺点:数组增删元素效率比较低,无法存储大数据量
二、数组语法:
1、数组类型,以及动态初始化时默认值
int[] array1 --0
double[]array --0.0
boolean[]array3 --false
String[]array4 --null
Object[]array5 --null(引用类型)
short[]array6 --0
long[]array7 --0.0L
float[]array8 --0.0F
char[]array9 --\u000
2、初始化
静态初始化:
int[]array1=new int[]{100,200,300};
动态初始化:默认值0
int[]array1=new int[5];
3、(反向)遍历一维数组
三、方法的参数为数组
1、参考示例
2、再说main方法,传递参数
Idea-run-editconfig-设置传递参数
四、数组存储为引用数据类型(结合多态实现)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | package cnblogs; public class TestAdvance09array4 { public static void main(String[] args) { Cat a1= new Cat(); Bird a2= new Bird(); Animal[] animals={a1,a2}; for ( int i= 0 ;i<animals.length;i++){ //调用公有的方法 animals[i].move(); //特有方法需要向下转型 if ( animals[i] instanceof Cat) { Cat cat=(Cat)animals[i]; cat.catchMouse(); } else if ( animals[i] instanceof Bird){ Bird bird=(Bird)animals[i]; bird.sing(); } } } } class Animal{ public void move(){ System.out.println( "Animal move..." ); } } class Cat extends Animal{ public void move() { System.out.println( "猫在走猫步..." ); } public void catchMouse(){ System.out.println( "猫捉老鼠..." ); } } class Bird extends Animal{ public void move() { System.out.println( "鸟在飞翔..." ); } public void sing(){ System.out.println( "鸟在唱歌..." ); } } |
查询运行结果:
五、数组扩容(效率较低,因涉及到全量的拷贝)
1、arraycopy()方法,4个参数:
(1)源数组(2)起始下标(3)目标数组(4)起始下标(5)长度
2、示例代码
六、二维数组
1、二维数组的遍历
2、二维数组的入参传递
分类:
java进阶
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了