Java 基本数据类型
创建变量时,需要在内存申请空间。内存管理系统根据变量类型为变量分配存储空间,分配的空间只能用来存储该类型数据。
Java 两大数据类型:
- 内置数据类型
- 引用数据类型
内置数据类型
Java 提供了8种基本类型。6种数字类型,1种字符类型,1种布尔型。
- byte 8位、有符号、二进制补码表示的整数。-128(-2^7)~127(2^7-1),默认值0。
- short 16位、有符号、二进制补码表示的整数。-2^15~2^15-1,默认值0。
- int 32位、有符号、二进制补码表示的整数。-2^31~2^31-1,默认值0
- long 64位、有符号、二进制补码表示的整数。-2^63~2^63-1,默认值0L
- float 32位、单精度浮点数。默认值0.0f
- double 64位、双精度浮点数。默认值0.0d
- char
16位、Unicode字符。最小值:
\u0000
最大值:\uffff
- boolean
1位,默认值是
false
引用类型
- Java 中,引用类型变量类似 C/C++ 指针。引用类型指向一个对象,指向对象的变量是引用变量。变量一旦声明后,类型就不能改变。
- 对象、数组都是引用数据类型。
- 所有引用类型的默认值都是 null。
- 一个引用变量可以用来引用任何与之兼容的类型。
Java 常量
常量在程序运行时是不能被修改的。
使用 final 关键字修饰常量:
final double PI = 3.1415927;
常用大写字母表示常量。
byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。
自动类型转换
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级到高级。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
数据类型转换必须满足如下规则:
不能对boolean类型进行类型转换。
不能把对象类型转换成不相关类的对象。
在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
转换过程中可能导致溢出或损失精度。