day08数组

1.数组的概念:

就是一组相同数据类型的数据。内存上是开辟的连续的内存空间。

2.数组的特点

1.定长,容量固定。数组一旦创建后,那么长度不能改变。(容量,长度,都是指存储的数量)
2.存储数据类型必须都一致。
3.在内存中空间连续挨个。
4.数组是引用数据类型,存在栈和堆的地址引用关系。

3.数组的语法

3.1创建数组的不同语法

动态创建数组:先创建数组,然后再跟据下标一个一个存储数据。

A:先声明,再创建(分配内存空间)
数据类型[] 数组名;
数组名 = new 数据类型[长度];

int[] a = null;//引用类型默认赋值null
a = new int[5];//创建,有new表示开辟堆内存,创建数组了,才可以使用数组。
B:声明并创建
数据类型[] 数组名 = new 数据类型[长度];
数据类型 数组名[] = new 数据类型[长度];

int[] b = new int[5];

静态创建数组:声明,创建,赋值一起写完。

C:声明,创建,并赋值
数据类型[] 数组名 = {数值1,数值2,数值3,数值4...};
//=左边声明数组,=右边,会根据{}中数据的个数,然后在将{}中的数据,安照顺序存储进去。
完成了几件事:
	1.先声明:数据类型[] 数组名
	2.根据{}中数组值的个数,开辟堆内存
	3.将{}中的数组值,依次按照顺序存入数组中
	
int[] c = {1,2,3,4,5};
D:声明,创建,并赋值
数据类型[] 数组名 = new 数据类型[]{数值1,数值2,数值3,数值4...};

int[] d = new int[]{1,2,3,4,5};
3.2数组的访问

数组名[index],操作数组
index:一个数组存储了多个数据(也叫元素),每个元素都有一个下标,也叫索引,index。
就是为每个元素排号,固定从0开始,到长度减1。
数组的下标不能超出这个范围。否则就会下标越界:java.lang.ArrayIndexOutOfBoundsException

4. 数组的长度

获取数组的长度:length,数组的一个属性。
数组名.length—>获取这个数组的长度。

5 .数组的遍历

5.1.遍历:

依次访问数组中的每个元素。可以赋值,可以取值。

5.2.使用循环来遍历数组

for(int i = 0;i < arr.length;i++){//先设定i是数组第一个元素arr[0]
        System.out.println(arr[i]);
    }

5.3.使用for-each循环来遍历数组

 增强for循环:JDK1.5的版本出现
    特定的用法:专门用于获取数组中每个元素的值
    语法结果:
    for(数据类型 变量名 : 数组名){
        System.out.println(变量名);
    }
	工作原理:
     for(int e :arr){
        System.out.println(e);
    }
     int e,定义变量e,
		依次获取数组的元素,赋值给e
         
    注意点:
       A:for-each只能获取数组的数据,但是不能给数组进行赋值
       B:for-each,在代码这个层面,不能操作下标。

6 .数组中的默认值

就是数组创建后,里面存储的默认的数据。
数组的引用存在栈内存中,数组本身存在堆内存中。
数组创建完后,就有默认的数据了。

数组的默认值
整数:0
小数:0.0
字符:\u0000
布尔:false
其他:null

7 .数组的地址转移

创建数组的时候:int[] arr = new int[4];
=左边,表示声明一个数组,开辟的是栈内存
=右边,表示创建这个数组,根据长度和类型,开辟内存空间,在堆内存中。
arr中存储的是数组在堆内存中的地址。
数组:引用类型的数据;
数组名,存储是引用地址
每次操作arr数组,都会根据arr中存储的地址,找到这块内存空间,结合下标,进而操作数组。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值