1.查表法:数据之间存在对应关系,通过关系的一方查到另一方。
当对应关系存在但没有一方是有序编号时,用另一个容器map 。
2.十转十六进制
运用了&15 与>>>4
((char)(temp-10+'A'))//temp>9
((char)(temp+'0'))//temp<=9
/**
10进制转16进制
*/
class demo
{
public static void main(String[] args)
{
int num=60;
String str_hex=toHex(num);
System.out.println(str_hex);
}
public static String toHex(int num)
{
//1.定义一个容器,存的是字符,长度为8,一个整数最多有8个十六进制位。
char[] arr1=new char[8];
//2.定义一个用于操纵数组的索引
int index=arr1.length;
//10转16进制
while(num!=0)
{
int temp = num & 15;//00001111
if(temp > 9)
arr1[--index]=((char)(temp-10+'A'));//注意!!!
else
arr1[--index ]=((char)(temp+'0'));
num=num>>>4;
}
return "0x"+toString(arr1,index);
}
//定义一个功能,将字符数组转成字符串。
public static String toString(char[] arr ,int index)//从非0的所以index开始
{
String str="";
for(int x=index;x<arr.length;x++)
{
str=str+arr[x];
}
return str;
}
}
3.实际上java给我们提供的封装好的方法
toOctalString(int i) // 以八进制返回一个数
toHexString( int i ) // 10转16
toBinaryString(int i)//10转2
4.数组快速排序方法(开发用)
Arrays.sort(arr)