java数组(1)

数组

数组,是一个用来存储相兼容数据类型的容器。

容量:在数组中,表示能够存储多少个数据。在数组中“容量”被称为 – 长度。

特点:

1、数组中只能存储相兼容的数据类型。

2、数组的长度是不可变的,一旦实例化完成,长度不能修改!

元素:

在数组中存储的每一个数据,被称作是数组的元素

1. 数组的定义

对数组进行定义,并进行初始化的赋值操作,这个过程称作数组的 实例化

数组实例化的过程,需要关键字 new

以后在任意的位置,只要是看到了 new ,都代表需要在 堆 上开辟空间。

// 1. 数组的定义、声明
// int[] arr1;

// 2. 数组的实例化
//    由于数组长度不可变,因此在实例化数组的时候,必须确定数组的长度
// 关于数组中存储的元素默认的值:
// 整型默认为 0
// 浮点型默认为 0.0
// 布尔型默认为 false
// 字符型默认为 \u0000 
// 引用数据类型默认为 null

// 2.1. 实例化一个数组,长度是10。此时这个数组中有10个元素,他们都是0。
int[] arr1 = new int[10];
// 2.2. 实例化一个数组,并填充每一个元素的值。此时,数组的长度由元素的个数决定。
int[] arr2 = new int[] { 1, 3, 5, 7, 9, 0, 8, 6, 4, 2 };
// 2.3. 针对2.2的一个小的优化:省略 new int[]
int[] arr3 = { 1, 3, 5, 7, 9, 0, 8, 6, 4, 2 };
2. 数组的元素访问

其实就是访问数组中的每一个元素。并且我们对数组中的每一个元素进行访问,其实无非就是两种操作:读、写

访问数组中的元素,需要通过下标

下标 就是一个元素在数组中的位置,是一个索引值。但是,数组中元素的下标是从0开始的!

Q: 数组中元素的下标范围是多少?

A: [0, 数组长度-1]

数组长度: array.length

// 1. 实例化一个数组
String[] array = { "Li Lei", "Han Meimei", "Lily", "Lucy", "Jim Green", "Tom", "Uncle Wang", "Polly" };

// 2. 访问数组中的元素
// 读元素
// System.out.println(array[6]);

// 写元素
// array[5] = "Jerry";
// System.out.println(array[5]);

// 3. 如何遍历一个数组
//    依次获取到数组中的每一个元素
// 3.1. 遍历下标,依次获取数组的每一个下标
for (int index = 0; index < array.length; index++) {
	System.out.println(array[index]);
}

System.out.println("-----------------------------------------------");

// 3.2. 使用增强for循环(foreach、forin)
// 逻辑: 依次取出数组array中的每一个元素,给ele进行赋值
for (String ele : array) {
	System.out.println(ele);
}

在进行数组遍历的时候,使用下标遍历和增强for循环的区别:

1、增强for循环的效率比下标遍历高。

2、在增强for循环中不能修改集合的长度。

3、在增强for循环中迭代变量(上方的ele),其实是一个常量,不能修改的。

使用场景:

1、如果仅仅是为了拿到每一个元素,使用增强for循环。

2、如果需要在遍历的同时,拿到元素对应的下标,使用下标遍历。

3、如果需要在遍历的同时,对数组中的元素内容进行修改,使用下标遍历。

3. 数组的内存分析,引用
int[] array = new int[5];

[外链图片转存失败(img-FLrWen7s-1562073123545)(./images/array_memory.png)]

引用数据类型的特点:

public static void main(String[] args) {
	int[] array = { 10 };
	change(array);
	System.out.println(array[0]);	// ?
}

static void change(int[] array) {
	array[0] = 100;
}

[外链图片转存失败(img-EAGs1TH9-1562073123546)(./images/array_reference.png)]

4. 数组的基本操作

数组的查询

查询某一个元素在数组中出现的下标。一般情况下,如果要查询的元素不存在,需要得到-1。

1、顺序查询

从前往后依次遍历数组中的每个元素,用每一个元素和要查询的元素进行比较。直到找到要查询的元素下标。
int index = -1;
for (int i = 0; i < array.length; i++) {
	if (array[i] == 9) {
		index = i;
		break;
	}
}
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值