java中Integer包装类的详细讲解(java二进制操作,所有进制转换)

原文

程序员都很懒,你懂的!

今天为大家分享的是Integer这个包装类。在现实开发中,我们往往需要操作Integer,或者各种进制的转换等等。我今天就为大家详细讲解一下Integer的使用吧。看代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package com.herman.test;
 
public class IntegerTest {
     public static void main(String[] args) {
         System.out.println( "Integer中的常量****************************" );
         System.out.println( "Integer的最大取值:\t" +Integer.MAX_VALUE);
         System.out.println( "Integer的最小取值:\t" +Integer.MIN_VALUE);
         System.out.println( "Integer的最大位数:(以二进制补码形式表示 int 值的位数。)\t" +Integer.SIZE);
         System.out.println( "Integer的类型的:\t" +Integer.TYPE);
         
         System.out.println();
         System.out.println( "Integer中方法的使用**************************" );
         int i= 1000 ;
         System.out.println( "1000的二进制表示:\t" +Integer.toBinaryString(i));
         System.out.println( "1000的二进制串中“1”的总数量:\t" +Integer.bitCount(i));
         /**
          * numberOfLeadingZeros计算方法为:32(Integer.SIZE)-Integer.toBinaryString(1000).length()
          */
         System.out.println( "1000的二进制串中从最左边算起连续的“0”的总数量:\t" +Integer.numberOfLeadingZeros(i));
         System.out.println( "1000的二进制串中从最右边算起连续的“0”的总数量:\t" +Integer.numberOfTrailingZeros(i));
         /**
          * Integer decode(String nm)
          * 给定一个10进制,8进制,16进制中任何一种进制的字符串,
          * 该方法可以将传入的字符串转化为10进制数字的Integer类型并返回。
          */
         System.out.println( "8的八进制为010,转换为10进制:\t" +Integer.decode( "010" ));
         System.out.println( "10的十进制为10,转换为10进制:\t" +Integer.decode( "10" ));
         System.out.println( "16的十六进制 为0X10,转换为10进制:\t" +Integer.decode( "0X10" ));
         System.out.println( "1000反转整数二进制补码的位顺序:\t" +Integer.reverse(i));
         System.out.println( "1000反转整数字节的顺序:\t" +Integer.reverseBytes(i));
         /**
          * 获取整数符号,为负返回-1,正返回1,零返回0
          */
         System.out.println( "1000获取整数符号为:\t" +Integer.signum(i));
         System.out.println( "创建1000的Integer对象:\t" +Integer.valueOf(i));
         System.out.println( "Integer.valueOf对象的使用(1000的radix进制数):\t" +Integer.valueOf( "1000" , 10 ));
         /**
          * Integer.getInteger(String)的功能是根据指定的名称得到系统属性的整数值。
          * 第一个参数将被认为是系统属性的名称。
          * 系统属性可以通过 System.getProperty(java.lang.String)方法访问得到。
          * 属性值字符串将被解释成一个整数,并且以表示这个值的Integer对象形式返回。
          * 可能出现的数字格式的详细说明可以在 getProperty 的定义说明里找到。
          */
         System.out.println( "getInteger取的是系统配置:\t" +Integer.getInteger( "sun.arch.data.model" ));
         System.out.println( "getInteger取的是系统配置:\t" +Integer.getInteger( "java.version" ));
         System.out.println( "getInteger取的是系统配置:\t" +Integer.getInteger( "java.lang.String" ));
         /**
          * 如果存在sun.arch.data.model系统属性的整数值,则返回该整数值
          * 如果不存在该整数值,则返回参数(val)2的值
          */
         System.out.println( "getInteger取的是系统配置:\t" +Integer.getInteger( "sun.arch.data.model" , 16 ));
         //返回具有单个1位的int值,在指定值中最高位的1位的位置,否则如果指定本身等于0,则返回0
         System.out.println( "返回最高位为1, 其它位为0的数(右边):\t" +Integer.highestOneBit(i));
         System.out.println( "返回最高位为1, 其它位为0的数(左边):\t" +Integer.lowestOneBit(i));
         System.out.println( "将i左移distance,如果distance为负,则右移-distance:\t" +Integer.rotateLeft(i, 2 ));
         System.out.println( "将i无符号右移distance,如果distance为负,则左移-distance。负的肯定会移成正的:\t" +Integer.rotateRight(i, 2 ));
         
         System.out.println();
         System.out.println( "Integer对象的方法使用******************************" );
         Integer obj= new Integer( 1000 );
         System.out.println( "1000转换为byte类型的数为:\t" +obj.byteValue());
         System.out.println( "Integer1000和Integer2000大小比较:\t" +obj.compareTo( new Integer( 2000 )));
         System.out.println( "Integer2000和Integer1000大小比较:\t" + new Integer( 2000 ).compareTo(obj));
         System.out.println( "Integer1000转换为double类型的数为:\t" +obj.doubleValue());
         System.out.println( "Integer1000和Integer2000大小比较:\t" +obj.equals( new Integer( 2000 )));
         System.out.println( "Integer2000和Integer1000大小比较:\t" + new Integer( 2000 ).equals(obj));
         System.out.println( "Integer2000和Integer1000大小比较:\t" + new Integer( 2000 ).equals( new Integer( 2000 )));
         System.out.println( "Integer1000的哈希码:\t" +obj.hashCode());
         System.out.println( "Integer1000的int值:\t" +obj.intValue());
         System.out.println( "Integer1000的long值:\t" +obj.longValue());
         System.out.println( "Integer1000的short值:\t" +obj.shortValue());
         System.out.println( "将字符串1000解析为int类型的数:\t" +Integer.parseInt( "1000" ));
         /**
          * Integer.parseInt("1000", 2)
          * 返回第一个参数的(字符串)的2进制(参数2为转换的进制)
          */
         System.out.println( "返回1000的2进制" +Integer.parseInt( "1000" , 2 ));
         /**
          * 进制转换
          */
         System.out.println( "1000十进制转成二进制" +Integer.toBinaryString(i));
         System.out.println( "1000十进制转八进制:\t" +Integer.toOctalString(i));
         System.out.println( "1000十进制转十六进制:\t" +Integer.toHexString(i));
         System.out.println( "十六进制转成十进制:\t" +Integer.valueOf( "FFFF" , 16 ).toString());
         System.out.println( "十六进制转成二进制:\t" +Integer.toBinaryString(Integer.valueOf( "FFFF" , 16 )));
         System.out.println( "十六进制转成八进制:\t" +Integer.toOctalString(Integer.valueOf( "FFFF" , 16 )));
         
         System.out.println( "八进制转成十进制:\t" +Integer.valueOf( "576" , 8 ).toString());
         System.out.println( "八进制转成二进制:\t" +Integer.toBinaryString(Integer.valueOf( "23" , 8 )));
         System.out.println( "八进制转成十六进制:\t" +Integer.toHexString(Integer.valueOf( "23" , 8 )));
         
         System.out.println( "二进制转十进制:\t" +Integer.valueOf( "0101" , 2 ).toString());
         System.out.println( "二进制转八进制:\t" +Integer.toOctalString(Integer.parseInt( "0101" , 2 )));
         System.out.println( "二进制转十六进制:\t" +Integer.toHexString(Integer.parseInt( "0101" , 2 )));
         
         System.out.println();
         System.out.println( "1000的二进制形式最左边的最高一位且高位后面全部补零,最后返回int型的结果" +Integer.highestOneBit(i));
         
     }
}
运行效果截图如下:


点击资源下载:http://download.csdn.net/detail/xmt1139057136/7309395

欢迎大家关注我的个人博客,或者加入qq群135430763进行相互学习。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值