-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
操作时访问到数组中不存在的脚标时ArrayIndexOutOfBoundException
当引用没有任何指向值为NULL的情况,该引用还在用于操作实体,空指针异常。NullPointerException
常用数组操作。
遍历
public classLeanr {
public static void main(String args[]) {
int[]x = { 3, 2, 3, 6, 3, 8,3, 63, 6 };
for (inti = 0;i < x.length;i++) {
System.out.print(x[i]+"\n");
}
}
}
获取最值
public static int getMax(int[]arr) {
int max = arr[0];
for (inti = 0;i < arr.length;i++) {
if (arr[i] >max)
max = arr[i];
}
returnmax;
}
public static int getMin(int[]arr) {
int min = arr[0];
for (inti = 0;i < arr.length;i++) {
if (arr[i] >min)
min = arr[i];
}
returnmin;
}
如int max=0比较时须将max设为脚标值
选择排序
public static void selectSort(int[]arr) {
for (inti = 0;i < arr.length;i++) {
for (intj =i + 1; j < arr.length;j++) {
if (arr[i] >arr[j]) {
arr[i] =arr[i] ^arr[j];
arr[j] =arr[i] ^arr[j];
arr[i] =arr[i] ^arr[j];
}
}
}
}
冒泡排序
public static void bubbleSort(int[]arr) {
for (inti = 0;i < arr.length;i++) {//for(int i = arr.length-1;x〉 0;x--)
for (intj = 0;j < arr.length -i - 1; j++) {//for(int y=0;y<x:y++)
if (arr[j] >arr[j + 1]) {
arr[j] =arr[j] ^arr[j + 1];
arr[j + 1] =arr[j] ^arr[j + 1];
arr[j] =arr[j] ^arr[j + 1];
}
}
}
}
折半查找
public static int halfSearch(int[]arr,intkey) {
int min, max, mid;
min = 0;
max = arr.length - 1;
mid = (max +min) / 2;
while (arr[mid] !=key) {
if (key >arr[mid])
min = mid + 1;
else if (key < arr[mid])
max = mid - 1;
if (min >max)
return -1;
mid = (max +min) / 2;
}
returnmid;
}