数组
数组的定义方式
- 数组的特点
- 长度固定
- 只能存储相同类型的数据
以int 类型为例
1.数据类型[] 数组名 = new 数据类型[数组长度]
int [] arr = new int [5];
- 数据类型[] 数组名 = new 数据类型[]{元素1,元素2…}
int [] arr = new int []{1,2,3,4,5};
- 数据类型[] 数组名 = {元素1,元素2…}
int [] arr = {1,2,3,4,5};
索引访问数组中的元素
- 索引值必须小于数组的长度,否则在会出现ArrayIndexOutOfBoundsException下标越界异常
- 数组名[索引值] = 数值 为数组中的元素赋值
- 变量名 = 数组名[索引值] 获取数组中的元素
获取数组长度是 数组名.length 属性
int[] arr = {1, 3, 5, 2, 4};
System.out.println(arr.length);
数组遍历 中间使用,隔开
public class Demo1 {
public static void main(String[] args) {
int[] arr = {1, 3, 5, 2, 4};
//System.out.println(arr.length);
for (int i = 0; i < arr.length; i++) {
//判断如果是最后一个元素,只输出元素
if (i == arr.length - 1) {
System.out.println(arr[i]);
} else {
//不是最后一个元素,就输出元素拼接逗号 这里使用print,不换行
System.out.print(arr[i]+",");
//打印结果 1,3,5,2,4
}
}
}
}
获取数组中的最大值
public class Demo1 {
public static void main(String[] args) {
//定义数组
int[] arr = {1, 3, 5, 2, 4};
//定义变量,将数组的第一个元素赋值给变量
int max = arr[0];
//System.out.println(arr.length);
for (int i = 1; i < arr.length; i++) {
//从第二个元素开始遍历,如果元素大于max,就将元素的值赋值给max
if (max < arr[i]) {
max = arr[i];
}
}
//输出最大值 5
System.out.println(max);
}
}
数组元素反转 将1,3,5,2,4 变成 4,2,5,3,1
- 定义两个变量,保存数组的最大索引和最小索引
- 两个索引上的元素交换位置
- 最小索引值++ , 最大索引值 –
- 最小索引大于最大索引,数组反转操作结束
public class Demo1 {
public static void main(String[] args) {
//定义数组
int[] arr = {1, 3, 5, 2, 4};
//定义变量,将数组的最大索引值赋给变量
int max = arr.length-1;
int min = 0;
//定义中间量
int x =0;
//System.out.println(arr.length);
for (int i = 1; i < arr.length; i++) {
//最小索引小于最大索引,说明还没有置换完毕
if (min < max) {
//将最小索引值赋给中间量
x = arr[min];
//将最大索引值付给最小索引
arr[min] = arr[max];
//将中间量保存的最小索引值 给 最大索引
arr[max] = x;
//改变索引
max--;
min++;
}
}
//打印结果 4 2 5 3 1
for (int a : arr) {
System.out.print(a+" ");
}
}
}