Java SE Integer类内置方法浅析

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  

http://bewithme.iteye.com/blog/1024363

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值