1:数组:存储同一种数据类型的多个数据的容器
2:特点:每一个元素都有编号,从0开始到数组长度-1,简称为索引。
3:定义格式:
a:数据类型 [] 数组名
b:数据类型 数组名 []
4:数组的初始化:
a:动态初始化:
举例:int [] arr=new int[5];
b:静态初始化:
举例:int [] arr={1,2,3};
5:Java的内存分配:
a:栈:存储局部变量
b:堆:存储所有new出来的东西
c:方法区:
d:本地方法区:系统相关
e:寄存器:与cpu有关
6:数组的常见操作:
(1):数组的遍历:
public class Array {
public static void main(String[] args) {
int [] arr={2,7,10,5,3};
for (int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
(2):数组的最大值:(最小值的原理和最大值一样)
public class ArrayMax {
public static void main(String[] args) {
int [] arr={2,7,10,5,3};
System.out.println("最大值为:"+getMax(arr));
}
//获取数组最大值的方法
public static int getMax(int [] arr){
int max=arr[0];
for (int i=0;i<arr.length;i++){
if (arr[i]>max){
max=arr[i];
}
}
return max;
}
}
(3):数组的翻转:
/**
* 数组反转问题
*/
public class ArrayReverse {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("---------------");
for (int min = 0, max = arr.length - 1; min <= max; min++, max--) {
int temp = arr[min];
arr[min] = arr[max];
arr[max] = temp;
}
System.out.println("反转后的数组为:");
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
(4):基本查找:
public static int getIndex(int[] arr,int value) {
for(int x=0; x<arr.length; x++) {
if(arr[x] == value) {
return x;
}
}
return -1;
}