数组
语法:
静态初始化
数据类型[ ] 数组名 = new 数据类型[]{元素1,元素2…};
简化格式:数据类型[ ] 数组名 = {元素1,元素2…};
int [] arr = new int [] {10, 20, 30, 40};
int [] arr2 = {10, 20, 30, 40};
简写形式:要求声明跟赋值再同一行
不允许动静结合初始化
如:
int[] arr = new int[4]{11, 22, 33, 44}; – 错误,不允许动静结合初始化
栈、堆
A:栈
存储局部变量
局部变量:定义在方法声明上和方法中的变量
B:堆
存储new出来的数组或对象
数组的操作
数组的遍历、最大值
class Test1 {
public static void main(String[] args) {
int arr[] = new int[]{11, 95, 52, 32, 51};
printArr(arr);
System.out.println("-----------------");
System.out.println(max(arr));
}
public static void printArr(int [] arr){
for (int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
}
public static int max(int arr[]){
int max = arr[0];
for (int i=1; i<arr.length; i++) {
if (max<arr[i]){
max = arr[i];
}
}
return max;
}
}
数组的反转
class Test2 {
public static void main(String[] args) {
int [] arr = new int[]{11, 22, 33, 44, 55};
reverseArr(arr);
printArr(arr);
}
public static void printArr(int [] arr){
for (int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
}
public static void reverseArr(int[] arr){
for (int i=0; i<arr.length/2; i++) {
int temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp;
}
}
}
数组的基本查找
//查找元素在数组中的索引
class Demo_Array{
public static void main(String[] args) {
int [] arr = new int[] {12, 74, 98, 56, 89};
int index = getIndex(arr, 56);
System.out.println(index);
}
public static int getIndex(int[] arr, int values){
for (int i=0; i<arr.length; i++){
if (values == arr[i]){
return i; //如果匹配,返回i
}
}
return -1; //如果不匹配,返回-1
}
}
二维数组
语法:
数据类型[ ][ ] 数组名 = new 数据类型[几个一维数组][数组的个数];
int [ ] [ ] arr = new int[3][2];
这个二维数组中,有3个一维数组
每个一维数组中有2个元素
42万+

被折叠的 条评论
为什么被折叠?



