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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fjl_fight 中级黑马   /  2013-5-5 11:45  /  1652 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 fjl_fight 于 2013-5-5 12:08 编辑

1、八种基本数据类型及其封装类

所有的封装类都是final类,且覆写了Object类的hashCode(),equals(),toString()方法,且实现了 Comparable 接口
2、在JDK1.5之后提供了自动装箱(将基本数据类型变成相应的包装类)与自动拆箱(将包装类变成基本数据类型)。
如:
  1. int a=10;               
  2.                 //自动装箱
  3.                 Integer b=a;
  4.                 //自动拆箱
  5.                 int c=b;
复制代码
3、封装类提供类实用的数据类型之间的转换,提供提供提供了众多对数字以及字符串操作的方法。
相应公共函数说明:
   Xxx表示封装类,xxx表示对应的基本数据类型。
  • parseXxx(String s, int radix) Xxx表示封装类,将字符串s当成是 radix 进制数,并返回相应的十进制数
  • parseXxx(String s)将字符串转换成相应的Xxx或xxx。
  • xxxValue()将此Xxx对象的值作为基本xxx返回。
  • toString()返回该类型的String对象
  • toString(xxx b)返回一个表示指定xxx的 String 对象。
  • valueOf(xxx b),返回一个表示指定 xxxXxx实例。如:boolean a=Boolean.valueOf(true);
  • valueOf(String s);返回一个用指定的字符串表示值的Xxx值,如:当且仅当s为true时返回true,boolean n=Boolean.valueOf("true");n=true;
  • compareTo(Xxx anotherXxx)对两个Xxx 对象所表示的数值进行比较。
(1)Boolean
    Boolean 类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean 类型的对象只包含一个类型为 boolean 的字段。还为 boolean 和 String 的相互转换提供了许多方法,并提供了处理 boolean 时非常有用的其他一些常量和方法。
  1. boolean c=Boolean.parseBoolean("xxx");        
  2.        System.out.println(c);//输出false
  3.       
  4.        System.out.println(c.toString());//输出c的String对象
  5.       
  6.        System.out.println(Boolean.toString(true));
  7.                
  8.        // 返回<span style="background-color: rgb(255, 255, 255); "> </span><font face="monospace" style="background-color: rgb(255, 255, 255); ">a</font><span style="background-color: rgb(255, 255, 255); ">的Boolean</span><span style="background-color: rgb(255, 255, 255); ">实例</span>
  9.        boolean a=Boolean.valueOf(true);
  10.        System.out.println(a);
  11.        boolean n=Boolean.valueOf("false");
  12.        System.out.println(n);
复制代码
(2)Byte
      Byte 类将基本类型 byte 的值包装在一个对象中。一个 Byte 类型的对象只包含一个类型为 byte 的字段。还为 byte 和 String 的相互转换提供了几种方法,并提供了处理 byte 时非常有用的其他一些常量和方法。
  1. Byte b=new Byte("127");
  2. //将此 <tt>Byte</tt>对象的值作为基本byte值返回。
  3.                 System.out.println(b.byteValue());
  4.                 //将100当成二进制数,并返回对应的十进制数
  5.                 System.out.println(Byte.parseByte("100",2));//返回4
复制代码
(3)Character
Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。
  • isUpperCase(char ch)  判断ch是否为大写
  • isDigit(char ch) 确定指定字符是否为数字。
  • isLetter(char ch)  确定指定字符是否为字母。
  • isLowerCase(char ch) 确定指定字符是否为小写字母。
  • isWhitespace(char ch)   确定指定字符依据 Java 标准是否为空白字符。
  • isUnicodeIdentifierStart(char ch)  确定是否允许将指定字符作为 Unicode 标识符中的首字符。
  1. char[] values={'*','7','p',' ','P','x'};
  2.         
  3.                    for(char count:values){
  4.                
  5.                     if(Character.isDigit(count)){
  6.                      System.out.println(count+"是一个数字");

  7.                    }else if(Character.isLetter(count)){
  8.                            
  9.                     System.out.println(count+"是一个字母");
  10.                    }else if(Character.isWhitespace(count)){
  11.                            
  12.                     System.out.println(count+"是一个空格");
  13.                     
  14.                    }else if(Character.isUpperCase(count)){
  15.                     System.out.println(count+"是大写形式");
  16.                     
  17.                    }else if(Character.isLowerCase(count)){
  18.                     System.out.println(count+"是小写形式");
  19.                     
  20.                    }else if(Character.isUnicodeIdentifierStart(count)){
  21.                     System.out.println(count+"是unicode"+"标示符的第一个有效字母");
  22.                
  23.                     }
  24.                   }
复制代码
(4)Double
  Double 类在对象中包装一个基本类型 double 的值。每个 Double 类型的对象都包含一个 double 类型的字段。还提供多个方法,可以将 double 转换为 String,将 String 转换为 double,也提供了其他一些处理 double 时有用的常量和方法。
  • toHexString(double d)  返回 double 参数的十六进制字符串表示形式。
  • intValue()以 int 形式返回此 Double 的值(通过强制转换为 int 类型)。
  • doubleToRawLongBits(double value) 根据 IEEE 754 浮点“双精度格式”位布局,返回指定浮点值的表示形式,并保留 NaN 值。
  • doubleToLongBits(double value) 根据 IEEE 754 浮点双精度格式 ("double format") 位布局,返回指定浮点值的表示形式。
如:
        Double d=14.5;
                //将12.5转换成16进制
                String Hexstring=Double.toHexString(12.5);
                //输出0x1.9p3
                System.out.println(Hexstring);
                //将d转换成int值
                int value=d.intValue();
                System.out.println(value);//输出14
               
                double d1=Double.parseDouble("12");
                System.out.println(d1);//12
  1. <blockquote><span class="Apple-tab-span" style="white-space:pre">        </span>Double d=14.5;
复制代码
(5)Float
   Float 类在对象中包装一个基本类型 float 的值。Float 类型的对象包含一个 float 类型的字段。提供了几种方法,可将 float 类型与 String 类型互相转换,还提供了处理 float 类型时非常有用的其他一些常量和方法。
用法跟Double类似,这里就不详细介绍了。
(6)Integer
     Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。
  • toBinaryString(int i)  以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式
  • toHexString(int i)  以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
  • toOctalString(int i) 以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
如:
                //将10转换成二进制
                String binary=Integer.toBinaryString(10);
                //将31转换成十六进制
                String hex=Integer.toHexString(31);
                //将10转换成八进制
                String octal=Integer.toOctalString(10);
                //将字符串122装换成int型
                int value=Integer.parseInt("122");
                System.out.println(binary);//1010
                System.out.println(hex);//1f
                System.out.println(octal);//12
                System.out.println(value);//122
  1. <blockquote>//将10转换成二进制
复制代码
(7)Long
   Long 类在对象中包装了基本类型 long 的值。每个 Long 类型的对象都包含一个 long 类型的字段。提供了多个方法,可以将 long 转换为 String,将 String 转换为 long,除此之外,还提供了其他一些处理 long 时有用的常量和方法。
用法跟Integer类似,就不做详细介绍了
(8)short
  Short 类在对象中包装基本类型 short 的值。一个 Short 类型的对象只包含一个 short 类型的字段。提供了多个方法,可以将 short 转换为 String,将 String 转换为 short,同时还提供了其他一些处理 short 时有用的常量和方法。
  跟Integer用法类似

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 很给力!

查看全部评分

1 个回复

倒序浏览
这样还不错,我在上课,等我回去奖励你!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马