JAVA 之数组

数组

前言:

在我看来,数组可以类比为数学中的坐标系,一维数组就是坐标轴仅有关于x轴,二维数组就是坐标系有关于x轴和y轴,三维数组就是有关于x,y,z的三维坐标轴,等等以此类推,加入这样的思想,比便于我自己更好的理解关于数组的知识点。

1.一维数组

1.1定义(什么是数组?)

​ 可阅读前言,数组就是一个存在于坐标轴上的点的集合,但是又不太准确,因为此集合只能存放于同类型的数据

1.2 数组的定义格式

格式一:  数据类型[] 变量名 int[] arry
格式二:  数据类型[] 变量名 int arry[]

Java中的数组必须先初始化,然后才能使用

所谓初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。(就是要定义,不能直接写)

动态初始化:只定义数组的长度,由系统给初始值。
	格式:数据类型[]  变量名 = new 数据类型[数据长度]; 


静态初始化:可以指定数组要存储的元素,系统还会自动计算出该数组的长度。
	格式:数据类型[] 变量名 = new 数据类型[]{数据1,数据2};
		 int[] arry = new int[]{1,2};
	简化格式:数据类型[] 变量名 = {数据1,数据2};
				int[] arr = {1,2};

1.3两种初始化的区别对比

  • 动态初始化:需要自己添加数组长度

  • 静态初始化:需要自己添加数组元素

1.4一维数组遍历

int[] a = {...};

for(int i = 0; i < a.length; x++){
 a[i];
}

一维数组的遍历,是对数组(集合)里的元素,一一取出来进行操作。

2.二维数组

1.1定义

可阅读前言,等于数组就是坐标系里的一个区域,而数组里的元素可通过统一的格式来表达各个点,如下图。

当我们对二维数组进行遍历时,就是通过坐标轴上的点一一取出。

坐标

1.2二维数组的定义和初始化

二维数组动态初始化

格式:数据类型[][]变量名 = new 数据类型[m][n]
	m表示这个二维数组,可以存放多少个一维数组
	n表示每一个一维数组,可以存放多少个元素
范例:int [] [] arr = new int[] [];


二维数组静态初始化

格式:数据类型[][]变量 = new  数据类型[][]{{元素1,元素2},{元素1,元素2}};
范例:int [] [] arr = new int [][] {{11,22},{33,44}}

1.3二维数组的遍历

实现思路:

由上图可知,二维数组是由x轴与y轴组成的,那么二维数组进行遍历的时候可看做,将x轴的点取出遍历后存储,再把y轴拿出来遍历后存储。就是将二维数组拆成两个一维数组,其中两个一维数组是包含关系。

//数组一a[i]  数组二a[j] 
for (int i = 0; i <a.length;i++){
	//数组二a[j]是包含在a[i]内的 
	for(int j = 0; j <arr[i].length;j++){
	}
}
//观察到二维数组的基本格式int [] [] a = new int [] []{{},{}}    【外面的大括号为数组一 里面的两个均并列为数组二,在一个二维数组中,只有一个数组一,可以有很多个数组二】
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值