基本数据类型的包装类.doc_第1页
基本数据类型的包装类.doc_第2页
基本数据类型的包装类.doc_第3页
基本数据类型的包装类.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基本数据类型的包装类 Integer类 字符串和基本数据类型的包装类-android培训、java培训、java学习型技术博客、期待与您交流!-1. 基本数据类型包装类1). 基本数据类型包装类存在的意义(1). 比如int有自己的取值范围,但是是一个数字都很大的取值范围,很难记忆。(2). 一个数的二进制转换成十进制,大小是多少?以上的细节如果能封装到一个对象里面,这样程序使用起来会非常方便。2). 基本数据类型的包装类位于java.lang包中,对应关系如下charCharacterbyteByte、shortShort、intinteger、longLongbooleanBooleanfloatFloat、doubleDouble【这些类都比较相似,以Integer为例做讲解】2. Integer类1). Integer类的字段publicstaticfinalintMIN_VALUE= 0x80000000;/全局常量:整形中最大值(231 -1)publicstaticfinalintMAX_VALUE= 0x7fffffff; /全局常量:整形中最小值(-231)【作用】基本数据包装类的全局字段:用于判定一个数是否在整数的范围内2). Integer类常用的方法基本数据类型的包装类的常用方法就是:帮助基本数据类型和字符串类型之间做转换(1).基本数据类型转换成String类型(以Integer为例)1.运算符操作法:基本数据类型数据+ 2.静态作法:基本数据类型包装类.toString(基本类型数据)3.非静态方法:Object类的toString()方法(2).String类型转换成基本数据类型1.静态方法:基本数据类型包装类.parseXxx(str)2.非静态方法:基本数据类型包装类对象.xxxValue(str)【注】xxx代表基本数据类型Xxx代表基本数据类型对应的包装类【注意】1Character没有parseXxx(str)这个方法与之对应的是:Character.toUpperCase(charch)和Character.toUpperCase(char ch)可以把对应的字符进行大小写转换【注意】2char本身就是String的组成部分,所以不用转换【注意】3parseXxx(str)中的str必须是数字格式的,否则抛出异常e.g.xxx是int的话,则Xxx表示Integer;xxx是char,则Xxx是Character(3). 进制转换和移位运算举例(Integer为例)1.进制转换操作【转二进制字符串】publicstaticStringtoBinaryString(inti)【转十六进制字符串】publicstaticString toHexString(inti)【转八进制字符串】publicstaticString toOctalString(inti)【parseXxx重载形式】staticintparseInt(String s,intradix)radix表示字符串s中的整数的进制表示形式x=Integer.parseInt(110, 2);/说明字符串中110是二进制形式System.out.println(x);/打印结果6二进制的110-十进制数字是6x=Integer.parseInt(3c, 16);/说明字符串中3c是十六进制形式System.out.println(x);/打印结果60十六进制的3c-十进制数字是602.移位操作【左移位】staticintrotateLeft(inti,intdistance)【右移位】staticintrotateRight(inti,intdistance)(4). 基本数据类型的equals()方法包装类重写了Object的equals方法,用于比较两个数值大小是否相同e.g.Integer x =newInteger(123);/接受字符串Integer y =newInteger(123);/接受整型值/new出来的两个不同对象,地址一定不一样,打印falseSystem.out.println(x =y);/x和y的值都是123所以equals比较结果为trueSystem.out.println(x.equals(y);3. 基本数据包装类的新特性(1). 自动装箱和自动拆箱【自动装箱和自动拆箱新特性的目的】简化书写1.自动装箱2.自动拆箱自动拆箱的原理:调用的基本包装类对象.xxxValue();【解释】x =x+2:赋值运算左边是x+2x是Integer类型的对象,自动拆箱成基本数据类型,和整形数据2进行相加。相加的整形结果再次自动装箱成Integer对象,让引用x指向这个新的Integer对象。为什么不是2自动装箱成Integer对象在进行运算呢?因为Integer这个类没有定义+这个运算。注意【异常抛出】当包装类引用指向null的时候,是不能进行自动拆箱的。因为自动拆箱的原理就是调用方法调用的基本包装类对象.xxxValue();但是自动拆箱的时候,运算的元素是null。null是没有办法调用成员变量和函数的,所以抛出空指针异常举例:(2). 当整形数值大小在一个字节byte之间并且被封装成基本数据类型对应的对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论