1、基本数据类型
1.1整型
- byte:一个字节,在内存中占8位。
- short:两个字节,在内存中占16位。
- int:四个字节,在内存中占32位。
- long:八个字节,在内存中占64位。
*当传给long类型变量的数值(在byte或short类型的表数范围内),系统会自动将该整数值当做byte或short类型
*当传给long类型变量的数值大于int类型表数范围内的时候,系统不会自动将其当作long类型来处理,如果希望当作long类型时,需要在数值后面添加L。
1.2字符类型
- char:占两个字节。
- 当传一个int类型的数给char类型变量,系统会自动把这个int变量转换为该数值对应的字符。
- 注意转义字符
\
,Java会将反斜杠当成转义字符,当写路径的时候要写\\
组合来表达 反斜杠。
1.3浮点类型
Java浮点数遵循IEEE 754标注,采用二进制科学计数法来表示,若为float类型则第1位是符号位,接下来8位是指数位,接下来23位表示尾数。若为double类型则第1位是符号位,接下来11位表示指数,接下来52位表示尾数。
- float:占4个字节,8位。
- double:占8个字节,16位。
*数值部分必须要有小数点,要不然会被当成int类型。
*科学计数法表示:5.12e2(即5.12*1^2)
*一般字符类型都会被当作double类型,如果要让java把其当作float类型,则在数值后面加f
1.4布尔类型
- true&false
boolean类型表示逻辑上的‘真’或‘假’。在JAVA语言中,boolean类型的数值只能是true或false,不能用0与非0来表示,其它基本类型也不能转换为boolean类型。但是boolean类型可以转换为字符串类型。
2、基本类型转换
2.1自动类型转换
基本类型转换由自下向上转换,也就是只能由表数范围小的转换为表数范围大的。
2.2强制类型转换
- 强制转换格式:(targetType)value
int num1=(int)95.5456464;
- 强制转换将会引起溢出,所以这种转换也叫做缩小转换。
2.3自动类型提升
- 当一个算数表达式包含多个基本类型的数值时,整个算数表达式内的数据类型将会自动提升。
- 所有的byte,short和char类型的都回提升至int类型。
整个
表达式类型会被提升到与该表达式中最高等级操作数的数据类型