1、 数组的概念
数组其实就是同一种数据类型的数据的集合。它是一种特殊的数据类型,不同于前面我们讲过的八种基本数据类型,即引用数据类型。
我们可以把想象成一个盒子,盒子里面有一个一个的小格子,且每个格子都有编号,从0开始。然后将数据放到格子里面。我们就可以通过这个盒子的格子编号来取数据啦。
2、 数组的好处
每个数组都有固定的一个大小,其中存放的数据都有唯一的一个下标用来标示该数据的位置。然后我们可以根据它的下标来获取存放在该位置上的数据。非常的方便,快捷。如下图所示:
3、数组特点:
数组的特性:同一种类型 连续的内存地址 固定长度
3、 数组的创建
重点:数组是固定长度的。所以数组的创建的时候必须明确指定数组的大小。
数组创建的方式有三种:
3.1 定义的时候直接初始化
即定义变量的时候呢,我们就给他直接赋值了。
数据类型 变量名 数组内容
int[] arr1 = {1,2,3,4};
3.2 定义时指定大小
数据类型 变量名 new关键字 数据类型 数组大小(用中括号括起来)
int[] arr2 = new int [4];
这样我们就定义了一个四个存储空间的int数据类型的数组。
3.3 定义时指定大小并初始化
数据类型 变量名 new关键字 数据类型 数组值
int[] arr3 = new int [] {1,2,3,4};
4、 数组的初始化
给已经定义好的数组赋值的话。可以通过数组下标来赋值。
4.1 定义时直接初始化
int[] arr1={1,2,3,4};
int[] arr1=new int[]{1,2,3,4};
4.2 直接使用下标
例如:
int [] arr1=new int[3];
arr1[0]=1;
arr1[1]=3;
arr1[2]=4;
4.3 使用循环
示例:
int [] arr1=new int[3];
for(int i=0;i<arr1.length;i++){
arr1[i]=i+1;
}
5、 数组遍历
数组的遍历即将数组中的数组循环的取出。具体可以使用我们之前学过的循环语句。
6、 二维数组
简单来讲二维数组即数组中存放的类型是数组,这就是我们说的二维数组。
7、 二维数组的定义
二维数组的定义跟一维数组的定义类似。关键点是要指定数组的大小,其中外层的一维数组必须指定其大小,而数组内部的数组可以指定也可以不指定。
8、 二维数组的赋值
前面我们讲了二维数组的定义,那么比如我们要将下图中的数据存入一个二维数组中。我们该怎么做呢?
分析:
这是一个4x4的矩阵。我们可以考虑用一个4x4的二维数组来存放。外层数组大小为4,内存数组大小亦为4.然后每一行是一个内部数组。这样我们就可以实施我们的定义和赋值啦。
8.1直接创建赋值
8.2 先定义后赋值
9、 二维数组的遍历
二维数组因为数组里面存放的是数组,所以遍历所有的数组的话,我们需要用两个循环来获取。
10、 排序算法
将一些没有规则的数据按照一定的规则排序的算法就是排序算法。排序是我们在程序中经常要用到的算法。常见的排序算法有冒泡排序,选择排序等
10.1 冒泡排序
冒泡排序:每次比较相邻的两个元素,如果前面的元素比后面的元素大,则交换两个元素的位置,这样比较一轮之后,最后的那个数就是最大的数。依此方法比较n次就会将n个数排序。
10.2 选择排序
选择排序:选择排序就是每次选取出最小的一个值和其位置,然后让其与未排序的序列的最前方的位置交换。
11、栈内存和堆内存
java虚拟机内存主要有两大块内存空间,一个是栈内存,一个是堆内存。
1、栈内存主要用来存放基本数据类型的变量和数据,及引用类型的变量。
2、堆内存主要用来存放引用类型的对象。
3、栈内存的读写速度高于堆内存。
网友评论