数据类型:java语言是强类型语言,对于每一种数据都定义了明确的数据类型,在内存总分配了不同大小的内存数据
Java中不同数据类型的分类:
1、基本数据类型
2、引用数据类型(放到面向对象的时候讲)
基本数据类型:4种8类
1)整数类型 占用字节数
byte 1 -2^7~2^7-1
short 2 -2^15~2^15-1
int 4 -2^31~2^31-1
long 8 -2^63~2^63-1
2)浮点类型 占用字节数
float 4
double 8
3)字符类型
char 2
4)布尔类型
boolean 1
注意事项:
1、定义long类型的数据变量,末尾要加上L或l (推荐使用L)
电脑默认的数据类型是整数int,当赋值给long的数值大于int的范围时,必须在数值后
面加上L,当复制给long的数值既在int的范围内又在long的范围内时可以不加L。这是
因为大数据类型转变成小的数据类型,数据精度会损失一部分。为了方便,统一在long变量后面加L。
2、小数默认是double类型,整数默认是int类型
3、定义float类型的数据变量末尾要加上F或f(推荐使用F)
float是单精度浮点类型,double是双精度浮点类型。double的精度更高,所以如果数值的精度超过float类型的精度转换成单精度(float)需要损失部分(截掉一点)数据再装进float,如果数值精度没有超过float类型的精度转换成单精度(float)则数值没有损失。所以使用float统一在数据后缀F或f。
读作:把10赋值给数据类型是byte的变量b
使用变量的注意事项:
A: 作用域
变量定义的那个大括号内,它就在那个大括号内有效。并且在一个大括号内
不能定义重名的变量
B:初始化值
没有初始化值的变量不能直接使用
你只要在使用该变量之前赋值就可以了,不一定非要在定义的时候给值。推荐在定义的时候给值,特殊情况除外。
定义变量的两种格式:
1、数据类型 变量名 = 初始化值
2、数据类型 变量名;
变量名 = 初始化值;
C:在一行上建议只定义一个变量
可以定义多个,但是不建议,也是不规范的做法
多个被定义的变量之间一定要用;号隔开(如果用,号隔开那么无法识别)
要么数据类型只用一个,后面的多个变量之间可以用,号隔开
+是一个运算符,做加法运算的。
一般来说,我们在做运算的时候,参与运算的数据类型必须一致
特例:
1、当数据类型不一样,且输出的数据类型是较大的一方时,是可以正常输出的
2、当数据类型不一样,且输出的数据类型是较小的一方时,需要改变。
底层逻辑:
byte数据类型的变量会强制提升到4个字节再与int数据类型的变量相加,得到的补码再截去3个字节,保留1个字节,输出结果。
也就是字节大的数据类型个可以包括字节小的数据类型。反之不能,需要做出调整。
调整如图所示:
默认转换
A:byte,short,char--int--long--float--double
强制转换类型
不建议强转,因为会损失精度
目标数据类型 变量名 = (目标数据类型)(表达式)