常量和变量和数据类型
常量和变量就是数据在内存中数据交换的一个过程。
在程序运行的过程中不变的数据的量叫常量,变量与此相反。
基本数据类型有8种:
整型:
- byte:一个字节
- short:两个字节
- int:四个字节
- long:8个字节
(一个字节八个位组成,字节型是最小的整数类型)
小数类型:
- float:四个字节
- double:八个字节
小数的类型的数据的存储方式和整数不一样。小数类型所表示的数据范围要比整数的最大范围大。
字符类型:
- char 两个字节
需要使用’ ’
bool类型:
- 只有两个值,表真假,true和false
变量的定义
- float·在定义的时候一定要在初始值后面加f
- double·类型定义是后面可以加一个d,只是一个标识符,可加可不加
变量的定义只能定义在方法中,必须初始化;定义在类中的叫属性,可以不用初始化。
变量的作用范围
-
变量只能在当前大括号和当前大括号的子括号里使用
-
基本数据作为类的属性时的初始值
数据类型自动转化 -
8中数据类型除了boolean类型以外都能转换
① java语言自动类型转换的方式来处理。小空间的数据类型向大空间的数据类型取转换
② byte,short,char在做计算的时候会自动转提升成int
③ int和其他数值计算也会溢出,但是不会转换,而是直接损失精度
④ 常量在做运算时只要超出定义的数据类型的范围就不会报错不会发生类型的自动提升
⑤ float类型和常量,float,计算不会有类型提升,和所有整数类型计算都会转换成float
⑥ double和常量计算都会转换成double类型
⑦ float和double计算会转换成double类型,double和任何整数类型计算会转换成double,
⑧ char是字符类型,不要用来和数据类型计算,虽然可以,但是尽量不要。
强制转换
-
强制转换具有风险。比如int类型的128,转成short没问题,但转成byte就会损失精度。因为要转换的变量的值可能会超过目标类型的最大值
-
int类型的 8 :000000000 0000000 00000000 00001000
short类型的 8 :00000000 00001000
byte类型的 8:00001000 -
(float double)小数类型转成整型(int ,long ,short, byte),会舍弃小数位;double和float也可以相互转换。
-
char 字符类型也可以转成其他类型,除了boolean;int类型也可以转成char。
例如:
char c = ’b’;
byte d = (byte)c;
int a = 112;
char b = (char)a;
如有错误,欢迎指正!