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