Java数据类型
Java数据类型
java中的数据类型可以分为两类,引用类型(reference types)以及基本类型(primitive types),参考Java官方文档的最新定义绘制类型关系图如下
对每种类型中我认为重要的点进行总结
基本类型(primitive types)
-
整型:用于表示没有小鼠部分的数值,允许是负数,通常情况下int类型最常用,byte和short类型主要用于底层的文件处理
- Java中整型的范围与Java代码运行的及其无关
- 长整形后缀L或者l;十六进制数值有一个前缀0x或者0X;八进制有一个前缀;从Java7开始加上前缀0b或者0B就可以写二进制数
- Java中无任何无符号unsigned形式的int,long,short,byte类型,Java的做法增加了平台的可以执行但是牺牲了性能
- char类型原本用于表示单个字符,现在的Unicode字符可能是一个char值也可能是两个
-
浮点型:浮点型有两种double和float,double(64位)表示的数值精度是float(32位)的两倍,绝大多数应用程序使用float
- float:储存需求4字节,取值范围:±3.40282347E+38F,有效位数为6-7位
- double:储存需求8字节,取值范围大约±1.79769313486231570E+308有效位数是15位
-
整型的操作符号
- 当对空引用进行拆箱的操作时会抛出 NullPointerException异常
- 当使用0作为分母进行除法运算的时候会抛出 ArithmeticException异常
- 当使用++,--操作符的时候可能会抛出OutOfMemoryError 异常
-
浮点型的操作符
- 当二元运算符至少有一个对象是浮点数的时候,执行浮点操作
- 如果二元运算符中至少有一个对象是double,则进行64位的运算,当另一个对象不是double则先进行数值提升
- 浮点类型的任何值都可以转换为任何数字类型,但与boolean之间没有强制类型转换
- 当对空引用进行拆箱的操作时会抛出 NullPointerException异常
- 当使用++,--操作符的时候可能会抛出OutOfMemoryError 异常