java中的数据类型

包装类与基本数据类型


java中提供了8中基本类型:6中数字类型(4个整数型,2个浮点型),1种字符类型,还有1种布尔类型。

  1. 整数: int 、short、byte、long,初始值为0.
  2. 浮点型:float、double,初始值为0.0 。
  3. 字符:char 初始值为空格。
  4. 布尔值:boolean ,初始值为false。

java中包装类包括:Integer、Long、Short、Byte、Character、Double、Float、Boolean、BigInteger、BigDecimal。其中BigInteger、BigDecimal没有对应的基本类型,主要用于高精度的运算。BigInteger支持任意精度的整数,BigDecimal支持任意精度带小数的运算。

基本类型与包装类的异同

1、在java中,一切皆对象,但8大基本类型却不是。
2、声明方式的不同,基本类型无需通过new关键字来创建,而包装类型需要。
3、存储方式及位置不同,基本类型是直接存储变量的值保存在栈中能高效存取,包装类型需要通过引用指向实例,具体实例保存在堆中。
4、初始值不同,包装类型的初始值为null,基本类型的初始值视具体的类型而定,比如int类型的初始值为0,boolean类型为false。
5、使用方式的不同,比如与集合类合作使用时只能使用包装类型。

包装类与基本数据类型

  • 装箱:把基本数据类型转换成包装类
    自动装箱
         int i1 = 2;Integer i2 = i1;

手动装箱

         int i1 = 2;//手动装箱Integer i3 = new Integer(i1);
  • 拆箱:把包装类转换成基本数据类型
    自动拆箱
    手动拆箱
         int i1 = 2;Integer i2 = i1;// 自动拆箱 int i4 = i2;// 手动拆箱int i5 = i2.intValue();

字符串与基本数据类型

  • 基本数据类型转换为字符串
    使用包装类的toString()方法
    int t1 = 2;String t2 = Integer.toString(t1);System.out.println("int类型转换为String类型对象t2="+t2);
  • 字符串转换为基本数据类型
    自动拆箱调用包装类的parseXxx()静态方法
    调用包装类的valueOf()方法转换为基本类型的包装类,自动拆箱。
    //1、包装类的parseint t3 = Integer.parseInt(t2);//2、包装类的valueOf 先将字符串转换为包装类,//再通过自动拆箱完成基本类型转换int t4 = Integer.valueOf(t2);

常用方法

1、Integer

java.lang包中的Integer类、Long类和Short类,分别将基本类型int、long、short封装成一个类。由于这些类都是Number的子类,区别就是封装不同的数据类型,其包含的方法基本相同,下面以Integer类为例介绍:
Integer类在对象中包装了一个基本类型int的值。该类的对象包含一个int类型的字段。此外,该类提供了多个方法,能在int类型和string类型之间互相转换,同时还提供了处理int类型时非常有用的其他一些常量和方法。
1、构造方法有两种:
① 以int型变量作为参数创建Integer对象,实例代码如下:

Integer number = new Integer(7);

② 以String型变量作为参数创建Integer对象,实例代码如下:

Integer number = new Integer("7");

2、常用方法:

方法 返回值 功能描述
byteValue() byte 以byte类型返回该Integer的值
compareTo(Integer anotherInteger) int 在数字上比较两个Integer对象。如果相同返回0;调用对象的数值小于anotherInteger返回负值,反之,返回正值。
equals(Object IntegerObj) boolean 比较此对象与指定对象是否相等
intValue() int 以int型返回此Integer对象
shortValue() short 以short型返回此Integer对象
toString() String 返回一个表示该Integer值的String对象
valueOf(String str) Integer 返回指定Sting值的Integer对象
parseInt(String str) int 返回包含在由str指定的字符串中的数字的等价整数值

3、常用的常量:
① MAX_VALUE:表示int型可取的最大值
② MIN_VALUE:表示int型可取的最小值
③ SIZE:表示以2进制补码形式表示int值的位数
④TYPE:表示基本类型class实例

         int maxint = Integer.MAX_VALUE;int minint = Integer.MIN_VALUE;int intsize = Integer.SIZE;System.out.println("int类型可取的最大值:"+maxint);System.out.println("int类型可取的最小值:"+minint);System.out.println("int类型的二进制位数:"+intsize);

2、Boolean

Boolean类型将基本类型为boolean的值包装在一个对象中。一个Boolean类型的对象只包含一个类型为boolean的字段。此外,此类还为boolean和String的相互转换提供了许多方法,并提供了处理boolean时非常有用的一些常量和方法。
1、构造方法
① 创建一个表示value参数的boolean对象,实例如下:

Boolean b = new Boolean(true);

② 以String变量作为参数,创建boolean对象。此时,如果传入的字符串不为null,且忽略大小写后的内容等于“true”,则 生成Boolean对象值为true,反之为false。

         Boolean b1 = new Boolean("OK");Boolean b2 = new Boolean("TRUE");System.out.println(b1);//falseSystem.out.println(b2);//true

2、常用方法:

方法 返回值 功能描述
booleanValue() boolean 将Boolean对象的值以对应的boolean值返回
equals(Object obj) boolean 判断调用该方法的对象与obj是否相等,当且仅当参数不是null,而且与调用该方法的对象一样都表示同一个boolean值的Boolean对象时才返回true
toString() String 返回一个表示该boolean值的String对象
valueOf(String str) boolean 返回一个用指定的字符串表示值的boolean值
parseBoolean(String str) boolean 将字符串参数解析为boolean值
         Boolean b1 = new Boolean("OK");Boolean b2 = new Boolean(false);System.out.println(b1.booleanValue());//falseSystem.out.println(b2.booleanValue());//false

3、常用的常量
① TRUE:对应基值true的Boolean对象;
② FALSE:对应基值false的Boolean对象;
③ TYPE:表示基本类型Class实例。

3、Byte

Byte类将基本类型为byte的值包装在一个对象中,一个byte类型的对象只包含一个类型为byte的字段。
1、构造方法
Byte类提供了两种构造方法的重载形式来创建Byte类对象。
① Byte(byte value)通过这种方法创建的byte对象,可表示指定的byte值。

     byte b = 45;Byte b1 = new Byte(b);

② Byte(String str) 通过这种方法创建的byte对象,可表示String参数指定的byte值。

Byte b1 = new Byte("12");

2、常用方法

方法 返回值 功能描述
byteValue() byte 以一个byte值返回Byte对象
compareTo(Byte anotherByte) int 在数字上比较两个Byte对象。
doubleValue() double 以一个double值返回Byte对象
equals(Object obj) boolean 比较此对象与指定对象是否相等
intValue() int 以int值返回此Byte的值
toString() String 返回一个Byte值的String对象
valueOf(String str) byte 返回指定Sting值的Byte对象
parseByte(String str) byte 返回包含在由str指定的字符串中的数字的等价byte

3、常用常量
① MAX_VALUE:最大值
② MIN_VALUE:最小值
③ SIZE:2进制
④TYPE:表示基本类型byte的class实例

4、Character

Character类在对象中包装一个基本类型为char的值。一个Character对象包含类型为char的单个字段。
1、构造方法
Character(char value)
2、常用方法

方法 返回值 功能描述
charValue() char 返回此Character对象的值
compareTo(Character anotherCharacter) int 在数字上比较两个Character对象。
equals(Object obj) boolean 比较此对象与指定对象是否相等
toString() String 返回一个表示该char值的String对象
toUpperCase(char ch) char 将字符参数转为大写
toLowerCase(char ch) char 将字符参数转为小写
isUpperCase(char ch) boolean 判定指定字符参数是否为大写
isLowerCase(char ch) boolean 判定指定字符参数是否为小写
5、Double

Double和Float包装类是对double、float基本类型的封装,他们都是Number类的子类,又都是对小数进行操作,所以常用基本方法相同。
Double类在对象中包装一个基本类型为double的值,每个double类都包含一个double类型的字段。
1、构造方法
Double类提供了两种构造方法来获得Double对象;
① Double(double value):基于double参数创建Double类对象。
② Double(String str): 构造一个新分配的Double对象,表示用字符串表示的Double类型的浮点值。
2、常用方法

方法 返回值 功能描述
byteValue() byte 以byte类型返回该Double对象的值(通过强制转换)
compareTo(Double d) int 在数字上比较两个Double对象。如果相同返回0;调用对象的数值小于d返回负值,反之,返回正值。
equals(Object obj) boolean 比较此对象与指定对象是否相等
intValue() int 以int型返回此Double对象
isNaN() boolean 如果此double是非数字,则返回true
toString() String 返回此Double对象值的String对象
valueOf(String str) double 返回指定Sting值的Double对象
doubleValue() double 以double形式返回此Double对象
longValue() long 以long形式返回此Double对象(通过强制转换)

3、常用常量

6、Number

抽象类Number是父类,Number类的子类必须提供将表示数值转换成byte、double、float、long、int、short的方法。
常用方法

方法 返回值 功能描述
byteValue() byte 以byte类型返回指定的数值
intValue() int 以int类型返回指定的数值
floatValue() float 以float类型返回指定的数值
shortValue() short 以short类型返回指定的数值
longValue() long 以long类型返回指定的数值
doubleValue() double 以double类型返回指定的数值

java基础学习5---包装类及常用方法相关推荐

  1. java基础学习-4

    Java基础学习-4 static 注意事项 重新认识main方法 继承 小练习 子类到底能继承父类中的哪些内容(第126集)*** 继承过程中成员变量和成员方法的访问特点 小练习 小总结 构造方法的 ...

  2. 尚学堂JAVA基础学习笔记_2/2

    尚学堂JAVA基础学习笔记_2/2 文章目录 尚学堂JAVA基础学习笔记_2/2 写在前面 第10章 IO技术 1. IO入门 2. IO的API 3. 装饰流 4. IO实战 5. CommonsI ...

  3. Java基础学习——第十四章 网络编程

    Java基础学习--第十四章 网络编程 一.网络编程概述 计算机网络: 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大.功能强的网络系统,从而使众多的计算机可以方便地互相传递信 ...

  4. Java基础学习(9)

    Java基础学习 一.常用方法(API) 1.1 Math 1.2 System 1.3 Runtime 1. 4 .object 1.5 Objects 1.6 BigInteger BigInte ...

  5. Java基础学习Day09--字符串

    Java基础学习Day09--字符串 一.简介: 二.String类字符串 三.String字符串的存储原理 四.字符串常用方法 1.equals()方法 2.字符串的搜索 3.截取子字符串 4.去除 ...

  6. JAVA基础学习精简心得笔记整理

    JAVA基础学习精简心得笔记整理 配置java环境变量 Java的运行过程  基本数据类型 引用数据类型 逻辑运算符 数组 方法重载 封装 继承 多态 多态的作用 单例设计模式 接口interface ...

  7. java基础学习整理(一)

    java基础学习整理(一) lesson1: D0s命令: 1.回到根目录,>cd \ 2.复制命令行下的内容,右击标记所要复制的内容,这样就已经复制好了,右击粘贴就可以了. 3.查看,设置环境 ...

  8. 【Java基础学习笔记】- Day11 - 第四章 引用类型用法总结

    Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 4.1 class作为成员变量 4.2 interface作为成 ...

  9. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  10. java基础学安卓开发_Android开发学习路线之Java基础学习

    原标题:Android开发学习路线之Java基础学习 很多Android学习开发者刚入手Android开发技术时,稍微有点迫切.任何的开发技术都有其基础语言,Android应用程序开发是以Java语言 ...

最新文章

  1. linux(armv7/8)下gdb的安装及查看方法
  2. 用无序列表做的网站公告牌(Billboard)
  3. c malloc 头文件_C 数据类型
  4. Android Telephony分析(七) ---- 接口扩展(异步转同步)
  5. 如何使用firefox适用于javascript的debugger命令
  6. qt开发环境 - 简易二进制文件打开,串口自发自收
  7. RuntimeError: freeze_support()
  8. php class variable,解决关于PHP“Undefined variable”变量未定义
  9. js 二叉树图形_在线生成二叉树(基于EaselJS(canvas))
  10. 使用VisualStudio或VisualStudio Code作为代码比较工具
  11. 面向初学者的带有MVC API的Android 管理表CRUD MSSQL
  12. PHP. 02®. Ajax异步处理、常见的响应状态、XMLHttpRequest对象及API、ajax的get/post方法、...
  13. 流水线冒险及解决方法
  14. 如何实现用户认证授权系统
  15. 5v 3.3v电平转换电路_3.3V与5V系统电平兼容的方法探究
  16. 8款免费的Windows数字签名软件【附下载】
  17. c语言数组中找出相同的数,找出数组中重复的数字(c语言)
  18. 快递分拣程序 python_顺丰快递分拣程序
  19. java 当前线程 等待_Java 多线程等待
  20. 多元微积分(一)--导数与偏导数

热门文章

  1. 一位搬家师傅的O2O之旅
  2. 学习笔记07渲染路径+阴影
  3. 从甲方、合作伙伴和团队成员三个维度学习项目管理的思维方法
  4. 已知A,B点,和C点,让C点在AB线段上移动
  5. java实现加减乘除法
  6. php面试题for的优化方法,PHP经典面试题——数据库优化
  7. java中两个doub组成一个数组_Java基础知识2-Java基本语法
  8. FFplay文档解读-13-设备选项,输入设备一
  9. 管理专业必懂的部分知识
  10. 华为手机像素密度排行_华为全新拍照手机:麒麟985+1亿像素+4800万,配置突破巅峰...