一、数组的定义
1.数组的概念
数组:内存空间连续的一块区域,用来存储同一种数据类型的多个元素
1.连续:同一种数据类型
2.索引:从0开始
索引:从0开始,到数组的长度-1结束
数据的长度: 数组名.length
数组名[索引] 定位数组中的元素
- 数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器
- 数组既可以存储基本数据类型,也可以存储引用数据类型
- 数组是一组相关数据的集合,一个数组实际上就是一连串的变量.
- 数组的遍历:
2.数组的声明规则
数据类型[] 数组名 = 初值
int[] array = new int[5]
注意:[ ]中5就是数组array的长度
数组的长度一旦给定 就不能修改
- 其中数据类型代表: 数组中盛放数据的 数据类型
- 数组使用下标(角标)来访问元素(保存元素) 下标从0开始
intl] array = (1,2,3,4);
34431838
intl] array = new int[5]:
赋值
3.数组在内存中如何存储
二、数组的常规状态
1.声明数组的两种方式
第一种: 一般情况下,当我们不知道数据里面有什么内容的时候,我们会先声明一个数组,然后再去赋值
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','韩'};
2.数组的常用方式
-
Arrays.toString(array) 数组的打印
System.out.println(Arrays.toString(array)); -
Arrays.sort(array); 数组的排序
会在原来的数组上修改 -
Arrays.copyOf(要复制的数组,指定新数组的长度)
会得到一个新的数组 -
数组的长度数组名.length
-
数组的索引 从0开始,最大的索引: 数组名.length-1
指定索引位置数组的元素
查询: 数组名[索引
修改: 数组名[索引] = 数值
冒泡排序法
//冒泡排序
int num = 0;
for (int i = 0; i < age.length - 1; i++) {
for (int j = 0; j <age.length - 1 - i ; j++) {
if (age[j] > age[j+1]){
num = age[j+1];
age[j+1] = age[j];
age[j] = num;
}
}
}
最大值最小值
int[] array = {77, 80, 5, 100, 20, 15};
// int max = array[0]; // 存放最大值
// for (int i = 0; i < array.length; i++) {
// if(max<array[i]){
// max = array[i];
// }
// }
//
// System.out.println(max);
// Arrays.sort(array);
// System.out.println(array[array.length-1]);
int min = array[0]; // 存放最小值
for (int i = 0; i < array.length ; i++) {
if(min>array[i]){
min = array[i];
}
}
System.out.println(min);
Arrays.sort(array);
System.out.println(array[0]);
}
3.二维数组
<数据类型> [ ][ ] 数组名; 或者 <数据类型> 数组名 [ ][ ];
方法一、
int [ ][ ] scores; //定义二维数组
scores=new int[5][50]; //分配内存空间
方法二、
int [ ][ ] scores = new int[5][50];
三、常见错误
````````````````````````````