基本知识:
所有的变量都会存储在内存中,内存是有大小的,到底占多大内存空间是由变量的数据类型决定的。
1G=1024M(兆)
1M=1024KB(千字节)
1KB=1024B(字节)
1B=8Bit(位)
直接量:直接写出来的数(25,3.14159,true,'hello')
整数直接量:直接写出来的整数(1,28,90.........)
8种基本数据类型包括:byte,short,int long,double,float,boolean,char
1.int :整形,4个字节,范围:-21多个亿——21多个亿
1)整数直接量默认为int型,但不能超出范围,若超出范围则发生编译错误
2)两个整数相除,结果还是整数,小数位无条件舍去(若需要结果为小数需要有小数的参与)
3)运算时,若超过范围会发生溢出,溢出不是错误但需要避免
2、long:长整形,8个字节,范围很大很大
1)表示长整形直接量需要在数字后面加L或l
2)运算时若有可能溢出,建议在第一个数字后加L
3.double:浮点型,8个字节,很大很大很大(java中表示钱时一般用double)
1)浮点数直接量默认为double 类型,若想表示float需要在数字后加F或f
2)double和float型数据参与运算时,有可能会出现舍入误差,精确场合不能使用
4.boolean :布尔型,1个字节
1)只能取值为true或false
5.char:字符型,2个字节
1)字符型直接量必须放在单引号中,必须有字符且只能有一个
2)采用unicode字符集编码,一个字符对应一个码
表现形式是字符char,本质上是int码
ASIIC码:‘a’——97,‘A’——65,‘0’——48
3)特殊符号需要通过来转义
类型间的转换
基本类型从小到大依次为:
byte
两种方式:
1)自动类型转换:从小类型到大类型
2)强制类型转换:从大类型到小类型,
语法:(要转换成为的数据类型)变量
注意:强转是有可能发生溢出的,也有可能丢精度
两种规则:
1)整数直接量可以直接赋值给byte,short,char,但不能超范围
2)byte,short,char型数据参与运算时,系统自动将其一律转换为int型再运算