Java基本数据类型及转换
概述
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
类型
byte数据类型是8位、有符号的,以二进制补码表示的整数
short数据类型是16位、有符号的以二进制补码表示的整数
int数据类型是32位、有符号的以二进制补码表示的整数;
long数据类型是64位、有符号的以二进制补码表示的整数;
float数据类型是单精度、32位、符合IEEE 754标准的浮点数;
double数据类型是双精度、64位、符合IEEE 754标准的浮点数;
boolean数据类型表示一位的信息;只有两个取值:true和false;默认值是false;
char类型是一个单一的16位Unicode字符;最小值是’\u0000’(即为0;最大值是’\uffff’(即为65,535;char数据类型可以储存任何字符;
字面值
字面值是某种类型值的表示形式
字面值有三种类型:基本类型的字面值、字符串字面值、null字面值
基本类型的字面值有四种类型:整数型、浮点型、布尔型、字符型
int 整数直接量(可用二、十、八、十六进制表示)
long 在整数直接量(也就是int型)后面,加上字母l或L
float 在数字(包括整数和小数)后面,加上字母f或F
- double 1.浮点数直接量 2.科学计数法直接量 3.在数字(包括整数和小数)后面加上字母d或D
- boolean 布尔直接量true、false
- char 1.单引号内的单个字符 2.单引号内的转义字符
- null 引用类型的空指向
基本数据类型转换
自动类型转换
**低 ------------------------------------> 高
**byte,short,char—> int —> long—> float —> double **
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
规则
不能对boolean类型进行类型转换。
不能把对象类型转换成不相关类的对象。
在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
转换过程中可能导致溢出或损失精度
int i =128;
byte b = (byte)i;
因为byte类型时8位,最大值为127,
所以当强制转换为int类型值128时候就会导致溢出。
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
必须满足转换前的数据类型的位数要低于转换后的数据类型
强制类型转换
1. 条件是转换的数据类型必须是兼容的。
2. 格式:(type)value type是要强制类型转换后的数据类型