黑马程序员_java基础(1)

来源:互联网 发布:怎样在mac上装office 编辑:程序博客网 时间:2024/05/22 02:01

------- android培训java培训、期待与您交流! ----------

(day04)数组,排序,进制转换*******************************************************************
int[] arr = new int[5];也可以int arr[] = new int[5];
编译时只检查语法错误,运行时,再在堆内存中分配空间,
ArrayIndexOutOfBoundsException数组角标越界异常
NullpPointerException空指针异常:当引用没有任何指向,值为空时,该引用还在操作实体。
数组元素个数:arr.length
System.out.println(arr);//打印出数组的引用了(地址),而不是实体
//打印出 [I@de6ced 
[ --表示引用是一个数组类型的引用
I --int型的数据
de6ced -- 数组的内存存放地址,由hash算法算出的hash值,十六进制。
@@选择排序selectSort:遍历所有元素,将每个元素与它后面的元素进行比较,符合条件就换位。
内循环一次,最值出现在头角标位置上。
for(int x=0;x<arr.length-1;x++)
{
for(int y=x+1;y<length;y++)
{
if(arr[x]>arr[y])
{
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
冒泡排序bubbleSort:相邻的元素进行比较,符合条件就换位。
第一圈,最值出现在最后位。
for(int x=1;x<arr.length;x++)
{
int max=0,temp=0;
for(int y=1;y<arr.length-x+1;y++)
{
if(arr[max]<arr[y])
{
max = y;
}
}
temp = arr[arr.length-x];
arr[arr.length-x] = arr[max];
arr[max] = temp;
}
最快的排序:希尔排序。
Arrays.sort(arr):开发中使用的数组排序。******
折半查找halfSearch:前提是数组是有序的。
while(arr[mid]!=key)
{
if(key>arr[mid])
min=min+1;
else(key<arr[min})
max=min-1;
mid=(max+min)/2;
}
return mid;
进制转化
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<arr.length;x++)
{
System.out.print(arr[x]);
}
}

------- android培训java培训、期待与您交流! ----------


0 0
原创粉丝点击