8 数组

本文详细介绍了Java中的数组,包括数组的定义、动态和静态初始化,以及数组的使用注意事项。特别地,文章深入探讨了二维数组,包括其内存存在形式和初始化方法,并强调了数组作为引用类型的特点。

数组介绍

数组可以存放多个同一类型数据。数组也是一种数据类型,是引用类型。
数组的使用
使用方式1-动态初始化
数组的定义

数据类型 数组名[]=new 数据类型[大小]

说明
1)数据类型是指定该数组的类型,即该数组可以存放的数据是什么,比如前面的8个基本数据类型(byte,short,int,long, char, boolean, float, double), 还可以是String
2)数组名: 是程序员指定, 一般使用小驼峰法
3)new : 表示 数组是对象,在内存中的堆中,创建出来的,因此java中的数组是引用类型.
4)大小:是数组可以存放的数据的多少,一旦指定,不能修改.

数组在内存中的布局
比如

int nums [] = new int[3];
nums[0] = 1;
nums[1] = 2;
nums[2] = 5;

针对上面代码的示意图
在这里插入图片描述
数组的引用
数组名[下标] 比如:你要使用a数组的第三个数 a[2]
说明
1)下标是从0开始编号的.
2)下标的范围 0- (数组的长度-1), 否则会报数组越界.

使用方式2-动态初始化
先声明数组

语法:数据类型 数组名[];  也可以  数据类型[] 数组名;
	int a[]; 或者 int[] a;

创建数组

语法: 数组名=new 数据类型[大小];
a=new int[10]; 

使用方式3-静态初始化
初始化数组

语法: 数据类型 数组名[]={元素值,元素值…}
int a[]={2,5,6,7,8,89,90,34,56} // 数组的大小,有编译来解析.

上面的用法相当于 :

int a[]=new int[9];
a[0]=2;a[1]=5;a[2]=6; a[3]=7;a[4]=8;
a[5]=89;a[6]=90;a[7]=34;a[8]=56;	

数组使用注意事项和细节
1)数组是多个相同类型数据的组合,实现对这些数据的统一管理
2)数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用数组创建后,如果没有赋值,有默认值
4)用数组的步骤 1. 声明数组并开辟空间 2 给数组各个元素赋值 3 使用数组
5)数组的下标是从0开始的。
6)数组下标必须在指定范围内使用,否则报:下标越界异常,比如
int [] arr=new int[5]; 则有效下标为 0-4 [案例]
7)数组属引用类型,数组型数据是对象(object),数组中的每个元素相当于该对象的成员变量
数组复杂使用-赋值
1)基本数据类型赋值,这个值就是具体的数据,而且相互不影响。
在这里插入图片描述
2)数组在默认情况下是引用传递,即赋的值是地址。看一个案例,并分析数组赋值的内存图。
在这里插入图片描述

多维数组-二维数组

多维数组我们只介绍二维数组
使用方式1: 动态初始化

语法: 类型 数组名[][]=new 类型[大小][大小]
比如: int a[][]=new int[2][3]

二维数组在内存的存在形式
在这里插入图片描述
使用方式2: 动态初始化
先声明:类型 数组名[][];
再定义(开辟空间) 数组名 = new 类型[大小][大小]

再定义(开辟空间) 数组名 = new 类型[大小][大小]
int arr = new int[3][4];

赋值(有默认值,比如int 类型的就是0)

使用方式3: 静态初始化
定义 类型 数组名[][] = {{值1,值2…},{值1,值2…},{值1,值2…}}
使用即可 [ 固定方式访问 ]

int arr[][] = {{0,0,0,0,0,0}, {0,0,1,0,0,0},{0,2,0,3,0,0},{0,0,0,0,0,0}};
二维数组使用细节和注意事项

1)一维数组的声明方式有:

int[] x  或者int x[]

2)二维数组的声明方式有:

int[][] y 或者  int[] y[]  或者 int  y[][]

3)二维数组实际上是由多个一维数组组成的,它的各个一维数组的长度可以相同,也可以不相同。比如: map[][] 是一个二维数组

map [][] = {{1,2},{3,4,5}}
由 map[0] 是一个含有两个元素的一维数组,map[1] 是一个含有三个元素的一维数组构成,我们也称为列数不等的二维数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值