1.java数据类型:
主要分为两大类:基本数据类型和引用数据类型
其中基本数据类型主要是8种:
byte/short/int/long类型是用户描述整数数据的,推进使用int类型
其中byte类型在内存空间中占1个字节,表示范围是:-128~127
其中short类型在内存空间中占2个字节,表示范围是:-32768~32767
其中int类型在内存空间中占4个字节,表示范围是:正负21亿之间
其中long类型在内存空间中占8个字节,表示范围是:-2^63~2^63-1
在程序中直接写出的整数数据叫做直接量/字面值/常亮,这些数据默认是int类型,当直接量的数据内容超过int的范围时,则在直接量的后面加l或L,推荐使用L,表示该直接量是long类型的数据
扩展:当long类型的范围已经无法满足需求,可以使用java.math.bigInteger类型加以描述.
float/double用于描述小数数据的,推进使用double
其中float叫做单精度浮点数,在内存空间中占4个字节
其中double叫做双精度浮点数,比float精度更加准确,内存空间中占8个字节
默认的浮点数字面值是double类型
扩展:
double类型和float类型是不能实现精确计算的,为了解决该问题可以使用java.math.BigDecimal类型加以描述
boolean布尔类型用于描述真假信息
用于描述真假信息,只有true和false
char类型用于描述单个字符数据的
其中char类型用于描述单个字符,在内存空间中占2个字节,现实生活中使用更多的是多个字符组成的字符串,字符串使用string类型加以描述,使用双引号括起来的内容
使用char类型可以与ascii码配合使用,复制数字返回的是对应的ascii码值
其中引用数据类型主要有:
数组,类,接口,枚举等.
进制表示方法:
16进制是0x开头
8进制是0开头
转义字符 \
2.类型转换
小范围向大范围转换时,只需要自动类型转换就能够了,如byte转到short
大范围向小范围转换时,需要强制类型转换如:
byte b1=10;
short s1=20;
b1=(byte)s1; 就是强制类型转换
切记:以后的编程中少使用强制类型转换,可能会造成数据的丢失,
自动类型转换的从小到大
boolean不参与任何类型转换
笔试题1:
在字面值为整数的时候,默认的是int型,如果你定义的是byte型,则会进行一个int像byte的转换,可以直接转过去的原因是,字面值是固定的,不像将int类型的变量转到byte型变量的时候,因为int类型的是个变量可能随时变化