---------------------- android培训、java培训、期待与您交流! ----------------------
1.数组另一种格式:元素类型[] 数组名 = new 元素类型[数组个数或长度]{元素,元素,.....}
?????????????????????????? int[] arr = new int[]{3,4,7,7,4};
?????????????????????????? int[] arr = {3,4,7,7,4};
?
2.数组排序:
??????????????? int[] arr = {2,4,8,6,5,9,3};
??????????????? Arrays.sort(arr);? 结果输出(2,3,4,5,6,8,9)。该方法会自动给数组排序。
?
3.对数组元素内容进行交换:
public static void swap(int[] arr,int a,int b){ int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; }
? 一共三个参数,传一个数组,以及两个要交换内容的元素的脚标位。
?
4.有序数组的两种折半查找方法和在有序数组中插入一个数:
???代码如下:
public static void main(String[] args) { int[] arr = {2,3,5,7,9,11,12,13,15}; int index = halfSearch(arr,21); int index1 = halfSearch2(arr,7); int index2 = getIndex(arr,25); System.out.println(index1); } //折半查找,必须保证数组是有序的数组。(第一种方法) public static int halfSearch(int[] arr,int key){ int min,max,mid; min = 0; max = arr.length-1; mid = (min+max)/2; while(arr[mid] != key){ if(arr[mid] > key){ max = mid-1; }else min = mid+1; mid = (min+max)/2; if(min > max) return -1; } return mid; } //在有序数组中插入一个数取得这个数插入的角标: public static int getIndex(int[] arr,int key){ int min = 0, max = arr.length-1, mid = (min+max)/2; while(key != arr[mid]){ if(key > arr[mid]) min = mid +1; else max = mid -1; mid = (min + max)/2; if(min > max) return min; } return mid; } //折半查找(第二种方法) public static int halfSearch2(int[] arr,int key){ int min = 0, max = arr.length-1, mid = (min+max)/2; while(min<=max){ mid = (min+max)/2; if(key > arr[mid]) min = mid+1; else if(key < arr[mid]) max = mid-1; else return min; } return -1; } }
?
?
5.十进制转2进制和16进制:
??? 代码如下:
public static void main(String[] args) { // TODO Auto-generated method stub toBin(6); toHex(60); } //十进制转二进制 public static void toBin(int num){ StringBuffer sb = new StringBuffer();//能装数据的容器 while(num > 0){ //System.out.println(num%2); sb.append(num%2); //有个append方法添加数据 num = num/2; } System.out.println(sb.reverse()); //有个reverse方法把容器里的数据反转 } //十进制转十六进制 /* 60&15的的二进制表现形式: 0000-0000 0000-0000 0000-0000 0011-1100 60 & 0000-0000 0000-0000 0000-0000 0000-1111 15 结果: 0000-0000 0000-0000 0000-0000 0000-1100 */ public static void toHex(int num){ StringBuffer sb = new StringBuffer(); int temp; for(int x=0;x<8;x++){ temp = num & 15; //&用作位运算符,提取num的最后四位二进制数。 if(temp>9){ sb.append((char) ('A'+temp%10)); //如果这个数大于9,就用字母ABC的表现形式。 }else sb.append(temp); num = num>>>4; //然后直接把num二进制数右移四位, } System.out.println(sb.reverse()); }
?
6.二维数组:
?? 定义:int[][] arr = new int[3][4];
??????????? 定义了一个名称为arr的二维数组,二维数组中有3个一维数组,每一个一维数组的长度为4;
?
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
?