Java基本类型及其包装类

Java基本类型及其包装类

1.java中的基本类型

        java中一共提供了8中基本数据类型,分别有byte,short,int,long,float,double,boolean,char; .

        除了这几种基本变量以外,其他的类型都是引用类型(数组,类,接口等). 

        基本数据的变量在赋值之后就会立刻在栈上分配内存空间

基本类型 默认值 内存大小 表示范围
byte 0 1 -128到127
short 0 2 负的2的15次到正的2的15次减1
int  0L或者0l 4 负的2的31次到正的2的31次减1
long 0 8 负的2的63次到正的2的63次减1
float 0.0F或者0.0f 4 3.4e-45~1.4e38
double 0.0 8 4.9e-324~1.8e308
boolean  false 1 true 和 false
char /u0000 2 \u0000到\uffff

数据类型之间的转换

       有两种转换方式:自动转换和强制转换

       自动转换:类型较小的与类型较大的在进行运算时会自动转成大的, 从小到大:(byte,short,char)--int--long--float—double

       强制转换:类型较大的转换成较小的时候,可以使用int n=(int)3.14159进行转换,这样进行转换可以会损失精度

关于类型的自动提升,注意下面的规则:

①所有的byte,short,char型的值将被提升为int型;

②如果有一个操作数是long型,计算结果是long型;

扫描二维码关注公众号,回复: 3601961 查看本文章

③如果有一个操作数是float型,计算结果是float型;

④如果有一个操作数是double型,计算结果是double型;


关于基本类型需要注意的

       基本类型传值是都是按值传递,封装类型是按引用传递的

       如果初始化是小数,默认是double,float类型的在后面加f (1.0f); 如果是整数类型,默认是int

       封装类型的初始值为null,基本类型的的初始值视具体的类型而定

2.包装类

       在Java中,一切皆对象,但八大基本类型却不是对象. 为了让基本类型也具有对象的特征,就出现了包装类型,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

       基本类型的包装类分别为Integer 、Long、Short、Byte、Character、Double、Float、Boolean

       从jdk1.5开始,JAVA虚拟机(JavaVirtual Machine)可以完成基本类型和它们对应包装类之间的自动转换。因此我们在赋值、参数传递以及数学运算的时候像使用基本类型一样使用它们的包装类,但这并不意味着你可以通过基本类型调用它们的包装类才具有的方法。

        包装类如果没有初始值,他默认的值都是null

        所有基本类型(包括void)的包装类都使用了final修饰,因此我们无法继承它们扩展新的类,也无法重写它们的任何方法。

关于包装类

        除Character类外,其他包装类可将一个字符串作为参数构造它们的实例

        Boolean类构造方法参数为String类型时,若该字符串内容为 true(不考虑大小写),则该Boolean对象表示true,否则表示false。

        所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例


比较

基本类型的优势:数据存储相对简单,运算效率比较高

包装类的优势:有的容易,比如集合的元素必须是对象类型,满足了java一切皆是对象的思想






猜你喜欢

转载自blog.csdn.net/ifenggege/article/details/80499199
今日推荐