[3]Java【数组详解】

数组是相同数据类型元素的集合,通过编号进行管理。它们可以在内存中开辟连续空间,长度固定。数组可分为一维、二维等,静态和动态初始化。静态数组在声明时赋值,动态数组则分开。数组遍历常用于搜索和统计。内存中,数组存储在堆,引用在栈。多维数组如二维数组类似表格结构。常见算法包括线性查找和冒泡排序。
摘要由CSDN通过智能技术生成

数组的概念

相同数据类型按一定顺序排列的集合,并使用一个名字命名,且通过编号的方式对这些数据进行统一管理。


数组的特点

数组属于引用数据类型的的变量。数组的元素即可以是基本数据类型,也可以是引用数据类型

创建数组对象会在内存中开辟一整块连续的空间

数组的长度一旦确定,就不能修改


分类

按照维数:一维数组,二维数组等等
按照定义分为静态和动态

静态:int[] ids = new int[]{10,11,12,13,14};
动态:String[] names = new String[5];
names[0] = asd;...

区别:静态数组的初始化和数组元素的赋值操作同时进行,而动态数组的初始化和数组元素的赋值操作分开进行

数组索引要注意数组角标越界;


数组元素的默认初始化值

数组元素是整型:0

数组元素是浮点型:0.0

数组是char型:0或\u0000

数组是boolean型:false


数组遍历:(数据一个一个的访问,主要用于搜索、数据统计等)


int[] x = {0,1,2,3,4}
for(int i = 0; i < x.length; i++){
    System.out.println(x.[i])
}

数组的内存解析

栈(stack):存放的是局部变量(方法里面的都是局部变量,如main方法,也就是栈空间,存放的都是地址值,并指向堆)

堆(heap):存放的是new出来的结构:对象,数组

方法区{常量池,静态域}:字节码文件加载


多维数组

比如常用的二维数组
将一维数组看作成是另一个一维数组的元素
类似于表格

静态初始化


int[][] arr1 = new int [][]{{1,2,3},{2,3,4},{5,4,2}};

动态初始化1


String[][] arr2 = new String[3][2];//[3]:三个数组;[2]:三个数组里,每个数组有二个元素(数组);

动态初始化2


String[][] arr3 = new String[3][];//未划分元素

遍历二维数组


for (int i = 0; i < arr1.length; i++) {
    for (int j = 0; j < arr1[i].length; j++) {
        System.out.print(arr1[i][j]+" ");
    }
    System.out.println();
}

另外,数组中常用的算法有:线性查找,二分法,冒泡排序,等等等等,面试题常考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值