A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 936994215 中级黑马   /  2016-7-5 15:22  /  819 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package wrapper;
  2. /*
  3. * 基本数据类型对象包装类
  4. * byte                Byte
  5. * short        Short
  6. * int                Integer
  7. * long                Long
  8. * boolean        Boolean
  9. * float        Float
  10. * double        Double
  11. * char                Character
  12. *
  13. * 基本数据类型对象包装类的最常见作用
  14. * 就是用于基本数据类型和字符串之间进行转换
  15. * 1.基本数据类型转换成字符串
  16. *     基本数据类型+""
  17. *     基本数据类型.toString(基本数据类型值)
  18. *     如:        Integer.toString(34);//将34转换成"34"
  19. *     String toString():返回一个表示该 Integer 值的 String 对象。
  20. *     static String toString(int i):返回一个表示指定整数的 String 对象。
  21. *     static String toString(int i, int radix):返回用第二个参数指定基数表示的第一个参数的字符串表示形式。
  22. *     
  23. *     
  24. *     
  25. * 2.字符串转换成基本数据类型
  26. *     xxx a = Xxx.parseXxx(string);
  27. *     int a = Integer.parseInt("123");//数字格式字符串,否则抛出NumberFormatException
  28. *     double b = Double.parseDouble("12.34");
  29. *     boolean b = Boolean.parseBoolean("true");
  30. *     Integer i = new Integer("123");
  31. *     int num = i.intValue();
  32. *     
  33. * 3.十进制转换成其它进制
  34. *     static String toBinaryString(int i):以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
  35. *     static String toHexString(int i):以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
  36. *     static String toOctalString(int i):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
  37. *
  38. * 4.其它进制转换成十进制
  39. *     static Integer valueOf(String s, int radix):返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
  40. *
  41. * 5.对二进制的处理
  42. *     static int reverse(int i):返回通过反转指定 int 值的二进制补码表示形式中位的顺序而获得的值。
  43. *     static int reverseBytes(int i):返回通过反转指定 int 值的二进制补码表示形式中字节的顺序而获得的值。
  44. *     static int rotateLeft(int i, int distance):返回根据指定的位数循环左移指定的 int 值的二进制补码表示形式而得到的值。
  45. *     static int rotateRight(int i, int distance):返回根据指定的位数循环右移指定的 int 值的二进制补码表示形式而得到的值。
  46. *
  47. * 6.比较
  48. *     int compareTo(Integer anotherInteger):在数字上比较两个 Integer 对象。
  49. *
  50. */
  51. public class IntegerDemo {
  52.         public static void main(String[] args) {
  53.                 //整数类型最大值2^31-1
  54.                 int max = Integer.MAX_VALUE;
  55.                
  56.                 //将一个字符串转换成整数
  57.                 int num = Integer.parseInt("123");
  58.                
  59.                 System.out.println(toHexString(60));
  60.         }
  61.        
  62.         public static void wrapper() {
  63.                 Integer x = new Integer("123");
  64.                 Integer y = new Integer("123");
  65.                
  66.                 System.out.println("x==y:"+(x==y));                                //false
  67.                 System.out.println("x.equals(y):"+x.equals(y));        //true
  68.                
  69.                 Integer i = 4;        //自动装箱
  70.                 i = i + 2;                //自动拆箱:变成int类型和2进行加法运算
  71.                
  72.                
  73.                 Integer a = 128;
  74.                 Integer b = 128;
  75.                 System.out.println("a==b:"+(a==b));        //false,不同对象
  76.                
  77.                 Integer m = 127;
  78.                 Integer n = 127;
  79.                 System.out.println("m==n:"+(m==n)); //true,m和n指向同一个对象
  80.                                                                                         //当数值在byte范围内,如果数值已经存在,则不会开辟新空间
  81.         }
  82.        
  83.         public static String toBinaryString(int num) {
  84.                 return trans(num,1,1);
  85.         }
  86.        
  87.         public static String toHexString(int num) {
  88.                 return trans(num,15,4);
  89.         }
  90.        
  91.         public static String toOctarString(int num) {
  92.                 return trans(num,7,3);
  93.         }
  94.        
  95.         private static String trans(int num, int base, int offset) {
  96.                 StringBuilder sb = new StringBuilder();
  97.                 char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  98.                 while(num!=0) {
  99.                         int temp = num & base;
  100.                         num = num >>> offset;
  101.                         sb.append(chs[temp]);
  102.                 }
  103.                
  104.                 return sb.reverse().toString();
  105.         }
  106. }
复制代码


1 个回复

倒序浏览
shuiwa 来自手机 中级黑马 2016-7-5 15:24:29
沙发
过来看一看,可以我还没有学
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马