1.什么是数组?
数组是指一组数据的集合,数组中的每个数据被称作元素。数组被分为一维数组和二维数组及多维数组。 其中最常用的是一维,其次是二维。
2.一维数组的定义
数组的定义可以有以下三种类型:
a.直接分配定义
int[] x = new int[100];
同一个数组中的所有元素类型是相同的,数组一旦分配了空间,空间就固定不能修改了。
上述图中语句等号“=”左边定义变量x,该数组变量为int类型,变量x会在栈中占用一块内存单元,等号“=”右边的语句是创建内存大小为100的数组空间,整个语句的合起来就是创建一个内存空间为100的数组,然后将数组的首地址赋值给数组变量x,100个数组内存中保存的初值都为0.
数组是通过索引(下标)一一对应取值的,数组的下标是从0开始计的,例如,上面100个空间,通过数组下标对应为x[0],x[1]......x[99],详情见下图内存状态图。
b.先声明,后初始化
int[] x; //声明变量 x = new int[100]; //创建数组对象
c.直接赋值型
int[] x=new int[]{1,2,3};
3.数组的内存分配示意图
数组是常见的引用数据类型,声明在栈中,存储在堆中,通过应用对象把声明和具体的存储空间联系起来。
4.数组的遍历
package com.m.demo02.view; public class Example { public static void main(String[] args) { //创建数组对象并赋值 int[] x = new int[10]; System.out.println("赋值前,遍历数组"); // for(int i=0;i<x.length;i++){ System.out.print(x[i]+"、"); } System.out.println(); System.out.println("给数组赋值"); //给数组赋值 for(int i=0;i<x.length;i++){ x[i]=i+1; } //赋值后,遍历数组 System.out.println("赋值后,遍历数组"); for(int i=0;i<x.length;i++){ System.out.print(x[i]+"、"); } } }
5.数组的排序
逆序,正序
冒泡排序
选择排序
快速排序
直接插入排序
6.搜索数组元素
二分查找
7.数组的逆序
8.数组的复制
9.数组的比较
10.常见异常
11.二维数组的定义
12.二维数组的遍历