Java的基本数据类型及其封装类

Java的基本数据类型及其封装类

一、8种基本数据类型

 

 

 

 

 

 

 

 

二、基本数据类型的包装类及大小

三、基本数据类型和封装类的区别

  1. 定义不同。封装类是对象,基本数据类型不是;
  2. 使用方式不同。封装类需要先new初始化,再通过JVM根据具体情况实例化后赋予定值,基本数据类型可以直接赋值,某些集合类型必须使用包装类,不能使用基本数据类型,如ArrayList<Integer>
  3. 初始值不同。包装类初始值默认为null,基本数据类型根据类型不同而值不同;
  4. 存储方式和位置不用。封装类分拆引用和实例,引用存储在栈(stack),具体实例存储在堆(heap),基本数据类型存储在栈中(stack)。

四、为什么需要包装类

  1. 包装类封装在java.lang包中;
  2. 基本数据类型没有toString()方法;
  3. 编码过程中只接收对象的情况,比如List中只能存入对象,不能存入基本数据类型;比如一个方法的参数是Object时,不能传入基本数据类型,但可以传入对应的包装类; 比如泛型等等。

五、表现形式(具体如上表)

  1. 整数型有三种表现形式。分别是十进制、八进制(以0开头)、十六进制(以0X或者0x开头);
  2. 对于long型的数值,如果值大于int型数值最大值或者小于int型数值的最小值时,应该在数值的末尾加上L或者l(小写的L),来表示该数值是long型的。如long num=2147483650L;
  3. 默认情况下,Java中的小数都是double型的,若要声明一个小数是float型的,则需要在数值的末尾加上F或者f,注意,必须要加F或者f,否则会出错。如float num=12.34F;
  4. char ch=’a’;和char ch=97;这两个式子等价,其中97是字母a在Unicode表中的排序位置,取值范围为0~65535(十进制),也即0x0000~0xffff(十六进制);
  5. Unicode编码表中共有65535个字符,涵盖了几乎所有国家的所有语言所涉及的符号,各个符号在Unicode表中的位置依次对应于0x0000~0xffff。可以直接使用‘字符’或者字符在Unicode表中的位置表示某个字符,这两种表示方式是等价的;
  6. int型数值和char型数值之间可以进行类型转换,int赋值为Unicode表中的排序位置的数值;
  7. Java中还有一些转义字符,转义字符是以反斜线’\’开头,后跟一个或多个字符。转义字符具有特定的含义,不同于字符原有的意义。

   小结:关于char基本数据类型

  1. char型变量可以被赋值成单引号括住的单个字符(字符可以为Unicode表中的任意一个字符);
  2. char型变量可以被赋值成Unicode表中的字符所对应位置下标值;
  3. char型变量可以被赋值成转义字符。

六、总结

每个包装类的对象可以封装一个相应的基本类型的数据,并提供了其它一些有用的方法。包装类对象一经创建,其内容(所封装的基本类型数据值)不可改变(类似于String类)

posted @ 2020-04-20 17:21  凌倾-学无止境  阅读(3140)  评论(0编辑  收藏  举报