A:数据类型[] 数组名;
B:数据类型 数组名[];
A:动态初始化
只给长度,系统给出默认值
举例:int[] arr = new int[3];
B:静态初始化
给出值,系统决定长度
举例:int[] arr = new int[]{1,2,3};
简化版:int[] arr = {1,2,3};
A:栈 存储局部变量
B:堆 存储所有new出来的
C:方法区
D:本地方法区(系统相关)
E:寄存器(CPU使用)
a:局部变量在方法定义中或者方法声明上定义的变量。
b:栈内存和堆内存的区别
栈:数据使用完毕,就消失。
堆:每一个new出来的东西都有地址
每一个变量都有默认值
byte,short,int,long 0
float,double 0.0
char '\u0000'
boolean false
引用类型 null
数据使用完毕后,在垃圾回收器空闲的时候回收。
方式1:
方式2:public static void printArray(int[] arr) { for (int x = 0; x < arr.length; x++) { System.out.println(arr[x]); } }
public static void printArray(int[] arr) { System.out.print("["); for (int x = 0; x < arr.length; x++) { if (x == arr.length - 1) { System.out.println(arr[x] + "]"); } else { System.out.println(arr[x] + ", "); } } }
最大值:
public static int getMax(int[] arr) {
int max = arr[0];
for (int x = 1; x < arr.length; x++) {
if (arr[x] > max) {
max = arr[x];
}
}
return max;
}
最小值:
public static int getMin(int[] arr) {
int min = arr[0];
for (int x = 1; x < arr.length; x++) {
if (arr[x] < min) {
min = arr[x];
}
}
return min;
}
方式1:
public static void reverse(int[] arr) {
for (int x = 0; x < arr.length / 2; x++) {
int temp = arr[x];
arr[x] = arr[arr.length - 1 - x];
arr[arr.length - 1 - x] = temp;
}
}
方式2:
public static int reverse(int[] arr) {
for (int start = 0, end = arr.length - 1; start <= end; start++, end--) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
}
public static String getString(String[] strArray, int index) {
return strArray[index];
}
方式1:
public static int getIndex(int[] arr, int value) {
for (int x = 0; x < arr.length; x++) {
if (arr[x] == value) {
return x;
}
}
return -1;
}
方式2:
public static int getIndex(int[] arr, int value) {
int index = -1;
for (int x = 0; x < arr.length; x++) {
if (arr[x] == value) {
index = x;
break;
}
}
return index;
}