8种基本数据类型包括:
byte、short、int、long、float、double、boolean、char
byte:字节型,用于存储整数的,占用1个字节,范围-128到127
short:短整型,用于存储整数的,占用2个字节,范围-32768到32767
int:最常用的整型,用于存储整数的,占用4个字节,范围-2^31到2^31-1
long:长整型,用于存储较大的整数的,占用8个字节,范围-2^63到2^63-1
float:单精度浮点数,用于存储小数的,占用4个字节,不能表示精确的值
double:双精度浮点数,最常用的存储小数的类型,占用8个字节,不能表示精确的值
boolean:布尔型,存储true或false,占用一个字节
char:字符型,采用Unicode字符编码格式,存储单个字符,占用2个字节
Int : 整型,4字节,-21个多亿到21个多亿
① 整数直接量默认为int类型,但不能超范围,若超出范围则编译错误
② 两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
③ 整数运算时,若超出范围,则会发生溢出(溢出不是错误,但需要避免)
Long : 长整型,8个字节,很大很大很大
① 长整型直接量需在数字后加L或l(不建议用小写)
② 运算时若有可能溢出,建议在第一个数字后面加L
double : 浮点型,8个字节,很大很大很大
① 浮点数直接量默认为double型,若想表示float需在数字后加F和f
② double 与 float型数据参与运算时,有可能会出现舍入误差,精确场合不能使用
boolean : 布尔型,1个字节 只能取值为true 或 false
Char : 字符型,2个字节
① 采用Unicode字符集编码格式,一个字符对应一个码
② 表现的形式是字符char,但本质上是码int (0~65535之间)
ASSII码:‘a’---97 ‘A’---65 ‘0’---48 (记住)
③ 字符型直接量必须放在单引号中,并且只能有1个。
④ 特殊符号需要通过\来转义 (转义符有很多)
Unicode 统一的字符编码标准-------世界级通用的定长(16位)字符集
因为符号太多,所以Unicode又被划分为很多个子集
Java中的char采用的是其中最最通用的一个子集
数据类型间的转换
基本类型由小到大依次为:
byte---short---int---long---float---double
char---
① 两种方式:
自动/隐式类型转换:小类型到大类型
强制类型转换:大类型到小类型;要加语法
语法: (要转换成为的数据类型)变量
强制转换也是一种运算,有可能发生溢出,有可能丢精度
② 两点规则:
整数直接量可以直接赋值给byte,short,char,但不能超出他们的取值范围
Byte、short、char,型数据参与运算时,系统一律自动将其转换为int再运算