论坛首页 Java企业应用论坛

Java基础之---java Integer类内置方法浅析(1)

浏览 2316 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-29   最后修改:2011-05-10

   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

 

   发表时间:2011-04-29  
自己先抢个宝座哈哈
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics