Java 语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型。一种布尔类型。
四个整数型
byte:
· byte 数据类型是8位 有符号 以二进制补码表示整数。
· 最小值 -128(-2^7) 最大值:127(2^7-1) 默认值是 0
· byte在大型项目中节约空间,主要用来替整数,因为byte变量占据空间只有int 的类型的四分之一。
short:
· 数据类型是16位,有符号已而至今补码表示的整数。
· 最小值 -32768 (-2^15) 最大值32667(2^15-1) 默认值是0
int
· int的数据类型是32位,有符号的已而至今补码表示的整数。
· 最小值是 -2^31 最大值 2^31-1 默认值是0
long :
· 数据类型是64位,有符号的已二进制补码表示的整数
· 最小值 -2^63 最大值 2^63-1 默认值 0、
· 主要用在比较大的整数的系统上
两个浮点型:
float :
· 数据类型是单精度 32位
· float在储存大型浮点数的时候可以节省内存空间
· 默认值是0.0f
· 不能表示数据的精确值 如货币
double:
数据类型是双精度 64位
· 浮点数的默认类型是double 类型
· 不能表示精确的值
· 默认值 0.0d
一种布尔类型
booble:
· 数据类型表示一位的信息
·只有两个值 true 和false
· 默认false
一种字符类型
char:
·类型是一个单一的16位 Unicode的字符
· 最小值 0 最大值65535
· 可以储存任何字段
下表列出了 Java 各个类型的默认值:
数据类型 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
char | 'u0000' |
String (or any object) | null |
boolean | false |
Java语言支持一些特殊的转义字符序列。
符号 | 字符含义 |
---|---|
\n | 换行 (0x0a) |
\r | 回车 (0x0d) |
\f | 换页符(0x0c) |
\b | 退格 (0x08) |
\0 | 空字符 (0x20) |
\s | 字符串 |
\t | 制表符 |
\" | 双引号 |
\' | 单引号 |
\\ | 反斜杠 |
\ddd | 八进制字符 (ddd) |
\uxxxx | 16进制Unicode字符 (xxxx) |
整数类型转换必须满足如下规则:
· 不能对boolean 类型就行转换
· 不能把对象类型转换为不相关的对象
· 在把容量大的的类型转换为容量小的类型被需要用强制类型转换
· 转换过程中可能会溢出或者损失精度
· 浮点类型的转换的是去整数,而不是四舍五入。
自动类型转换:
必须满足转换前的数据类型的位数低于转换后的数据类型。
例如:short数据类型的位数是16位,就可以自动转换成32 位的int 类型。
float 32位可以转换成 32位的 double 类型。
强制类型转换:
· 条件是转换的数据必须兼容的
· 格式:(type)value type是要强制类型转换后的数据类型 实例:
实例public class QiangZhiZhuanHuan{
public static void main(String[] args){
int i1 = 123;
byte b = (byte)i1;//强制类型转换为byte
System.out.println("int强制类型转换为byte后的值等于"+b);
}
}复制代码
运行结果:
int强制类型转换为byte后的值等于123复制代码