Java的基本数据类型:变量靠申请内存来存储数据值。也就是说在定义变量的时候,会在内存中申请空间。内存管理系统会根据变量的类型来分配空间,所分配的空间只能存储该类型数据。
Java基础类型包含两种:
内置数据类型 引用数据类型Java有八种内置数据类型,称为八大基本类型。
分别分为四类:
1. 整数型
byte、short、int、long
byte:
包装类:java.lang.Byte
默认值0,取值范围-2^7~2^7-1(为什么-1,记得以前学过,作为疑问1)
占用空间1字节(8bit,二进制情况下2)
由于占用空间相对(int类型占用32bit)比较小,在大型数组中常用于节省空间。
short:
包装类:java.lang.Short
默认值0,取值范围-2^15~2^15-1
16位,占用空间2字节
int:
包装类:java.lang.Integer
默认值0,取值范围-2^31~2^31-1
32位,占用空间4字节
一般地整型变量默认为int类型
long:
包装类:java.lang.Long
默认值0L,取值范围-2^63~2^63-1
64位,占用空间8字节
2. 浮点型
float、double
float:
包装类:java.lang.Float
默认值:0.0f,单精度3,符合IEEE754标准4的浮点数
32位,占用空间4字节
不能用于表示精确的值5,如货币
double:
包装类:java.lang.Double
默认值:0.0d,双精度,符合IEEE754标准的浮点数
64位,占用空间8字节
同样不能用于表示精确的值,如货币
3. 字符型
char 是一个单一的16位unicode字符
包装类:java.lang.Character
默认值:’\u0000’
最小值:’\u0000’(即0) 最大值:’\uffff’(即65535,2^16)
16位,占用空间2字节,可以存储任意字符
4. 布尔型
boolean
默认值:false
只有两个取值:true、false
该类型仅用于表示真/假
1位,占用空间1字节(理论上占用1/8字节)
实际上Java还有一种基本类型void,包装类java.lang.Void6,只是无法直接对其操作。
在Java中,引用类型非常类似C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量,引用变量在被声明的时候,指定特定的类型。变量一旦被声明后,就不能改变类型了。
对象、数组7都是引用类型 引用类型默认值为null 一个引用变量可以引用任意与之兼容的类型。常量的意义就是固定不变的值,如圆周率。
在Java中使用final关键字修饰声明常量。
final double PI = 3.14;
约束规定,通常常量都用大写字母表示。
Java语言支持的一些特殊的转义字符序列。
符号 | 含义 |
---|---|
\n | 换行(0x0a) |
\r | 回车(0x0d) |
\f | 换页符(0x0c) |
\b | 退格(0x08) |
\s | 空格(0x20) |
\t | 制表符 |
\’ | 单引号 |
\” | 双引号 |
\ | 反斜杠 |
\ddd | 8进制字符 |
\uxxx | 16位unicode字符(xxxx) |
整型、常量、字符型可以混合运算。在运算的时候,不同类型的数据转为同一类型数据后,进行运算。
转换级别从低到高8
低------------------------------------------------>高 byte、char、short->int->long->float->double
数据类型转换必须满足以下规则:
不能对boolean类型进行转换9 不能将对象转换为与之不相关的对象类型 把容量大的类型转为容量小的类型时,必须使用强制转换 在上条情况时,可能导致溢出或损失精度。例如: