java基础学习二

在比较数组的大小时,

int max = arr[0];

For(int x=1;x<arr.length;x++){

If(arr[x]>max)

max  = arr[x];

}

将变量初始化为0时,其实是初始化数组的角标

int max = 0;

For(int x=1;x<arr.length;x++){

If(arr[x]>arr[max])

max  = x;

}

数组排序

选择排序(selectSort)

内循环结束一次,最值出现在头角标位置

for(int i=0;i<array.length-1;i++){

For(int y=i+1;y<array.length;y++){

If(array[i]>array[y]){

Int temp = array[i];

Array[i] = array[y];

Array[y] =temp;

 

}

}

}

冒泡排序 (bubbleSort):相邻的二个元素进行比较,符合条件换位

for  (int x=0;x<Array.length-1;x++) {

For(int y;y<array.length-1;y++){

If(array[y]<array[y+1]){

Int temp = array[y];

Array[y] = array[y+1];

Array[y+1] = temp;l

}

}

}

Array..sort(); 对数组进行排序

折半查找,提高效率,但是必须保证数组是有序的

halfSearch()

Int   min=0,max=arr.length-1,mid;

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;

}

折半查找2

Int min=0;max=arr.length-1,mid;

while(min<=max){

Mid =(max+min)/2;

If(key>arr[mid])

Min =mid+1;

Else if(key<arr[mid])

Min =mid-1;

}

 

 二进制,八进制,十六进制转换

十进制到二进制 trans(num,1,1)

十进制到八进制 trans(num,7,3)

十进制到十六进制 trans(num,15,4)

Public static void trans(int num,int base,int offset){

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]);

}

}

 

二维数组

int  [ ] x,y[ ]; (一般不这么用,只考试时有这样定义)//x一维,y二维  等价于 int [ ] x; int [ ]y[ ];

你可能感兴趣的:(java,数组)