一、数组的定义
1.数组的概念
数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器
数组既可以存储基本数据类型,也可以存储引用数据类型
数组是一组相关数据的集合,一个数组实际上就是一连串的变量.
2.数组的声明规则
// 第一种: 一般情况下,当我们不知道数据里面有什么内容的时候,我们会先声明一个数组,然后再去赋值
int[] array = new int[5];
array[0] = 1;
array[1] = 3;
array[2] = 5;
array[3] = 6;
array[4] = 7;
// 第二种
int[] array2 = new int[]{1,3,5,7,9};
// 第三种, 虽然我们没有明确的指定数组的长度,但是一旦声明了以后,长度就固定了
int[] array3 = {1,3,5,7,9};
// array3[5] = 10;
String[] names = {"王工", "冀工", "金工", "吴工" };
int[] chars = {120,'a','韩'};
数组: 内存空间连续的一块区域,用来存储同一种数据类型的多个元素
重点: 1 连续 同一种数据类型
2 索引: 从0开始
数组的声明
1. 格式: 数据类型[] 数组名; 数组名其实就是一个变量名
2 定位数组的位置: 数组名[索引] ,比如说第0个元素: 数组名[0]
3.数组在内存中如何存储
声明数组的两种方式
// 第一种: 一般情况下,当我们不知道数据里面有什么内容的时候,我们会先声明一个数组,然后再去赋值
int[] array = new int[5];
array[0] = 1;
array[1] = 3;
array[2] = 5;
array[3] = 6;
array[4] = 7;
// 第二种
int[] array2 = new int[]{1,3,5,7,9};
// 第三种, 虽然我们没有明确的指定数组的长度,但是一旦声明了以后,长度就固定了
int[] array3 = {1,3,5,7,9};
// array3[5] = 10;
变量声明时[]和int之间是没有空格的
数组的常用方式
数组的遍历:
1 索引:从0开始,到数组的长度-1结束
2 数据的长度: 数组名.length
3 数组名[索引] 定位数组中的元素
public static void main(String[] args) {
int[] ages = {18,19,20,21,22,23,24,25,26,27,28,29,30};
int length = ages.length;
System.out.println(length);
System.out.println(ages[1]);
for (int i = 0; i < ages.length; i++) {
System.out.println("索引:"+i+" 值:"+ages[i]);
}
System.out.println(ages);
二·Arrays的使用
1 Arrays.toString(array) 数组的打印
System.out.println(Arrays.toString(array));
2 Arrays.sort(array); 数组的排序
会在原来的数组上修改
3 Arrays.copyOf(要复制的数组,指定新数组的长度)
会得到一个新的数组
int[] ages = {4,2,71,9,5,3,8};
// 一般在服务器上打印日志的时候,会使用到这个方法
System.out.println(Arrays.toString(ages));
// 一般有自然排序的时候,会使用到这个方法
Arrays.sort(ages);
System.out.println(Arrays.toString(ages));
//一般在数组扩容的时候,会使用到这个方法
int[] ints = Arrays.copyOf(ages, 10);
System.out.println(Arrays.toString(ints));
三·数组元素的位移
int[] arrays = {1,2,3,4,5};
for (int i=0; i <arrays.length ; i++) {
int temp=arrays[0];
arrays[0]=arrays[1];
arrays[1]=temp;
##四· 冒泡排序
int[] arrays = {11,33,55,65,67,88};
for (int i=0; i <arrays.length-1 ; i++) {
for (int j=0; j <arrays.length-1-i ; j++) {
if (arrays[j]>arrays[j+1]){
int temp =arrays[j+1];
arrays[j+1]=arrays[j];
arrays[j]=temp;
}
}
}
System.out.println(Arrays.toString(arrays));
冒泡排序法是最基本的排序方法