Java 中Integer是int的派生类型,内置了一些常用的对int类型数据的处理方法
下面对其简单的分析。
1, String toBinaryString(int i) 给定一个int类型数据,返回这个数据的二进制字符串。
示例:
int x=1;
int y=2;
int z=3;
System.out.println(x+"的二进制表示为:"+Integer.toBinaryString(x));
System.out.println(y+"的二进制表示为:"+Integer.toBinaryString(y));
System.out.println(z+"的二进制表示为:"+Integer.toBinaryString(z));
运行结果为:
1的二进制表示为:1
2的二进制表示为:10
3的二进制表示为:11
2,int bitCount(int i) 给定一个int类型数据,返回这个数据的二进制串中“1”的总数量。
示例:
int x=1;
int y=2;
int z=3;
System.out.println(x+"的二进制表示为:"+Integer.toBinaryString(x)+" bitCount方法返回值为:"+Integer.bitCount(x));
System.out.println(y+"的二进制表示为:"+Integer.toBinaryString(y)+" bitCount方法返回值为:"+Integer.bitCount(y));
System.out.println(z+"的二进制表示为:"+Integer.toBinaryString(z)+" bitCount方法返回值为:"+Integer.bitCount(z));
运行结果为:
1的二进制表示为:1 bitCount方法返回值为:1
2的二进制表示为:10 bitCount方法返回值为:1
3的二进制表示为:11 bitCount方法返回值为:2
3,int numberOfLeadingZeros(int i) 给定一个int类型数据,返回这个数据的二进制串中从最左边算起连续的“0”的总数量。因为int类型的数据长度为32所以高位不足的地方会以“0”填充。
示例:
int x=1;
int y=2;
int z=5;
System.out.println(x+"的二进制表示为:"+Integer.toBinaryString(x)+"最左边开始数起连续的0的个数为:"+Integer.numberOfLeadingZeros(x));
System.out.println(y+"的二进制表示为:"+Integer.toBinaryString(y)+"最左边开始数起连续的0的个数为:"+Integer.numberOfLeadingZeros(y));
System.out.println(z+"的二进制表示为:"+Integer.toBinaryString(z)+"最左边开始数起连续的0的个数为:"+Integer.numberOfLeadingZeros(z));
运行结果为:
1的二进制表示为:1最左边开始数起连续的0的个数为:31
2的二进制表示为:10最左边开始数起连续的0的个数为:30
5的二进制表示为:101最左边开始数起连续的0的个数为:29
4,int numberOfTrailingZeros(int i) 给定一个int类型数据,返回这个数据的二进制串中从最右边算起连续的“0”的总数量。因为int类型的数据长度为32所以高位不足的地方会以“0”填充。
int x=1;
int y=2;
int z=5;
System.out.println(x+"的二进制表示为:"+Integer.toBinaryString(x)+"最右边开始数起连续的0的个数为:"+Integer.numberOfTrailingZeros(x));
System.out.println(y+"的二进制表示为:"+Integer.toBinaryString(y)+"最右边开始数起连续的0的个数为:"+Integer.numberOfTrailingZeros(y));
System.out.println(z+"的二进制表示为:"+Integer.toBinaryString(z)+"最右边开始数起连续的0的个数为:"+Integer.numberOfTrailingZeros(z));
运行结果为:
1的二进制表示为:1最右边开始数起连续的0的个数为:0
2的二进制表示为:10最右边开始数起连续的0的个数为:1
5的二进制表示为:101最右边开始数起连续的0的个数为:0
5,Integer decode(String nm) 给定一个10进制,8进制,16进制中任何一种进制的字符串,该方法可以将传入的字符串转化为10进制数字的Integer类型并返回。
示例:
String a="010";//八进制
String b="10";//十进制
String c="0X10";//十六进制
System.out.println("8进制数据"+a+" 解析结果为:"+Integer.decode(a));
System.out.println("10进制数据"+b+" 解析结果为:"+Integer.decode(b));
System.out.println("16进制数据"+c+" 解析结果为:"+Integer.decode(c));
运行结果为:
8进制数据010 解析结果为:8
10进制数据10 解析结果为:10
16进制数据0X10 解析结果为:16