数组的概念:
用于存储 操纵数据的集合
数组的特点:
1.数组类型可以是任意类型(基本和引用数据类型)
2.数组一旦创建 就必须指定类型
那么该数组只能存指定类型的元素
3.数组一旦创建 其长度就已经确定 不可以改变
数组的声明:
数组类型[] 数组名;//符合java书写习惯
数组类型 数组名[];//符合c书写习惯
*数组的创建:
*1.创建数组的同时初始化数组
数组类型[] 数组名={数组元素1,...,数组元素n};
*2.通过new关键字创建数组 同时指定数组长度
数组类型[] 数组名=new 数组类型[长度];
数组名[下标]=value;//动态数组赋值
3.通过new关键字创建数组 同时初始化数组
数组类型[] 数组名=
new 数组类型[]{数组元素1,...,数组元素n};
*数组的访问:
数组都是靠下标完成操作:
最小下标:0
最大下标: 长度-1(length())
访问数组中单个元素:
数组名[下标]
*遍历数组:
通过循环将数组下标全部找到
根据下标获取数组中元素
每个数组都要Length属性
获取数组元素长度 即元素的个数
默认值:
整数都是 0 long 0L
浮点都是 0.0 float 0.0f
char:\u0000 空白
boolean: false
所有引用数据的默认值:null
*冒泡排序:
冒泡排序的原理:
每一组相邻的两个元素依次进行比较
如果第一个元素大于第二个元素 那么交换位置
直到没有相邻元素需要比较
//冒泡排序
for(int j=0;j<arr.length-1;j++){//比较趟数
for (int i = 0; i < arr.length-j-1; i++) {//每趟比较的次数
//相邻两个元素进行比较
if(arr[i]>arr[i+1]){
//交换位置
int c=arr[i];
arr[i]=arr[i+1];
arr[i+1]=c;
}
}
}
*最大值和最小值:
int[] arr={90,34,23,18,120};
//假设第一个元素是最大值
int max=arr[0];
//遍历数组
for (int i = 0; i < arr.length; i++) {
//数组元素挨个和假设最大值比较
if(max<arr[i]){
max=arr[i];
}
}
System.out.println(max);
二维数组:
二维数组通过数组一个特点:
数组类型可以是任意类型 数组类型本身也是数组
二维数组也是由多个一维数组构成
int[][] ar=new int[3][4]//三代表有三个一维数组,4代表每个一维数组中有4个元素
创建:
int[][] arr={{10,20},{30},{40}};
int[][] arr=new int[二维数组长度][数组元素的长度];
//创建二维数组
int[][] arr={{10,20,30},{40,50},{60,70}};
//遍历二维数组
for (int i = 0; i < arr.length; i++) {//将二维数组拆分为一维数组获取数量
for (int j = 0; j < arr[i].length; j++) {//将已分解的一维数组进行遍历,通过length获取单个一维数组中的元素
System.out.println(arr[i][j]);
}
}