1、数组就是一个箱子:箱子里有格子 (角标)
int[] s = new int[3];
int[] arr = {3,4,5};
2.内存的划分:(内存与变量的范围的关系 )
1.寄存器 cpu
2.本地方法区 3.方法区4.栈内存(随时释放)存储的都是局部变量而且变量所属的作用域一旦结束,该变量就自动释放。5.堆内存存储是数组和对象(其实数组就是对象)凡是new建立都在堆中。特点:1.每一个实体都有实地址值2.堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同整数是:0 小数:0.0或者0.0f boolean: false char: '\u0000' 3.垃圾回收机制
new 开辟空间运算符6.存储已知的具体数据int[] arr = {89, 34, 270, 17}; 4.遍历
1 for(int x =0; i
5.最值
public static int getMax(int[] arr){int max = arr[0];for(int x= 1; intmax)max = arr[x];}return max;}public static int getMax_2(int[] arr){int max = 0;for(int x= 1; int arr[max])max = arr[x];}return arr[max];}
6.排序
a.选择排序
public static void selectSort(int[] arr){for(int x=0; xarr[y]){int temp = arr[x];arr[x] = arr[y];arr[y] = temp;}}}}
数组进行反转。
public static void reverseArray(int[] arr) { for(int start=0,end=arr.length-1; start
b.冒泡排序
//Arrays.sort(arr);//java中已经定义好的一种排序方式。开发中,对数组排序。要使用该句代码
public static void bubbleSort(int[] arr) { for(int x=0; x
折半查找
int x = Arrays.binarySearch(arr,190);//java提供好的一个进行折半查找的功能。开发时使用这个。
/* 折半查找。提高效率,但是必须要保证该数组是有序的数组。 */ public static int halfSearch(int[] arr,int key) { 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(keymax) return -1; mid = (max+min)/2; } return mid; }
/* 折半的第二种方式。 */ public static int halfSearch_2(int[] arr,int key) { int min = 0,max = arr.length-1,mid; while(min<=max) { mid = (max+min)>>1; if(key>arr[mid]) min = mid + 1; else if(key
进制转换
//System.out.println(Integer.toBinaryString(6));
//System.out.println(Integer.toHexString(6));/* 十进制-->十六进制 */ public static void toHex(int num) { trans(num,15,4); } public static void trans(int num,int base,int offset) { if(num==0) { System.out.println(0); return ; } char[] chs = {'0','1','2','3' ,'4','5','6','7' ,'8','9','A','B' ,'C','D','E','F'}; char[] arr = new char[32]; int pos = arr.length; while(num!=0) { int temp = num & base; arr[--pos] = chs[temp]; num = num >>> offset; } for(int x=pos; x