Java 基本数据类型取值范围讲解
java中的类型概念名的说法不一、让我很是迷茫,我个人的理解整理,如有错误还请高人指点,!
?一、Java的类型词语理解:
1) 原始数据类型,简单类型,基本类型都是一个含义;
2)复合类型,扩展类型,复杂类型、引用类型都是一个含义;
3)浮点类型,实数、实型都是一个含义;
4)逻辑型、布尔型都是一个含义;
5)本人个人认同的类型分类:
注:double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的。
???? 如果要表示一个数据是float型的,可以在数据后面加上“F”。?
???? 浮点型的数据是不能完全精确的,所以有的时候在计算的时候可能会在小数点最后几位出现浮动,这是正常的。
相关介绍:
在Java基本类型在使用字面量赋值的时候,有几个简单的特性如下:
1】当整数类型的数据使用字面量赋值的时候,默认值为int类型,就是直接使用0或者其他数字的时候,值的类型为int类型,
??????????? 所以当使用??? longa = 0这种赋值方式的时候,JVM内部存在数据转换。
2】浮点类型的数据使用字面量赋值的时候,默认值为double类型,就是当字面两出现的时候,JVM会使用double类型的数据类型。
3】从JDK 5.0开始,Java里面出现了自动拆箱解箱的操作,基于这点需要做一定的说明:
对应原始的数据类型,每种数据类型都存在一个引用类型的封装类,分别为Boolean、Short、Float、Double、Byte、Int、Long、Character,这些类型都是内置的封装类,这些封装类(Wrapper)提供了很直观的方法,针对封装类需要说明的是,每种封装类都有一个xxxValue()的方法,通过这种方法可以把它引用的对象里面的值转化成为基本变量的值,不仅仅如此,每个封装类都还存在一个valueOf(String)的方法直接把字符串对象转换为相应的简单类型。
在JDK 5.0之前,没有存在自动拆解箱的操作,即Auto Box操作,所以在这之前是不能使用以下方式的赋值代码的:
Integer a = 0; //这种赋值方式不能够在JDK 1.4以及以下的JDK编译器中通过
但是JDK 5.0出现了自动拆解箱的操作,所以在JDK5.0以上的编译器中,以上的代码是可以通过的
参考于:http://book.51cto.com/art/201003/189014.htm
来自于:http://hi.baidu.com/630270730/blog/item/3562fff25d24fcd90b46e00b.html