(千里之行,始于足下)JavaSE:数组

数组

1. 特点

  • 数组是有序排列的
  • 属于引用数据类型
  • 创建数组对象会在内存中开辟一整块连续的空间
  • 数组一旦初始化,长度就是确定的,也不可修改

2. 分类

  • 一维、二维、、、
  • 基本数据类型元素的数组、引用数据类型元素与的数组

3. 一维数组的使用

3.1 声明和初始化

  • 只要初始化完成,其长度就确定了
// 静态初始化:数组的初始化和数组元素赋值操作同时进行
int[] ids = new int[] {
    1001,1002,1003,1004
};
// 动态初始化,数组的初始化和数组元素的赋值操作分开进行
String[] names = new String[5];
// 类型推断
int arr4[] = {1,2,3,4};

3.2 默认初始化值

数据元素默认值
整型0
浮点型0.0
char0或‘\u0000’
booleanfalse
引用型null

3.3 数组的内存解析

4. 二维数组的使用

4.1 理解

一维的数组的存储元素是引用类型,再者一维数组也是引用类型,故数组的元素也可以是引用类型数组。

链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6Mg0DiBh-1573350392086)(H:\md\图片\image-20191107104427820.png)]

4.2 获取长度

  • 每一层.length获取一层的长度

4.3 默认初始化值

  • 外层存储的是一维的地址值

  • 内层默认为0/null,与一维数组初始化情况相同

    int[][] arr = new int[2][2];
    arr[1] // [I@454xc  一个[表示一维数组 I表示int类型
    int[][] arr1 = new int[2][];
    arr[2] // 空指针异常
    

4.4 内存解析

在这里插入图片描述

5. 数组的常见算法

5.1 数组元素的赋值(杨辉三角、回形数)

5.3 求数组型数组中元素的最大值、最小值、平均数、总和

5.4 数组的复制、反转、查找(线性查找、二分查找)

5.5 数组元素的排序算法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6JPV6U92-1573350392091)(H:\md\图片\十大排序算法.png)]

5.5.1 冒泡排序
int arr[] = {43,42,76,-98,0,364,45,10,-4165,12};
		for (int i = 0; i < arr.length-1; i++) {
			for (int j = 0; j < arr.length-i-1; j++) {
				if (arr[j]>arr[j+1]) {
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}
		}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值