变量 数据类型
int a = 10
这句话代表什么
输入这句话,程序就在内存开辟一个空间(一个int 类型,占4个字节),进行存储。
int —— 4个字节
long—— 8个字节
变量是程序中基本组成单位
java 基本数据类型
- 整数类型
byte:一个字节
short:两个字节
int:四个字节
long:八个字节 - 浮点类型(小数类型:float、double)
- 布尔类型
- 字符类型
原理
byte a = 1;
在计算机中:0000 0001
第一位表示符号位,0表示正数,1表示负数
正数最大: 0111 1111 也就是 127
而: 1111 1111 则表示 -127
但是0000 0000 表示0。
所以,规定1000 0000 表示-128
byte 表示范围:-128 ~ 127
其他的类型表示类似。
**整型表示范围
为: -2^(字节数8-1) ~ 2^(字节数*8-1)-1*
- 定义的时候,如果数字过大,或者在char 类型存放多个字符,则会出错。
定义变量: int a;
初始化变量: int a = 1;
给变量赋值: a = 2;
int a = 1.2;//会报错!!
编译会报错,违背了数据从低精度到高精度转换的原则。
精度对比:
byte < short < int < long < float < double
float a = 3.4;//会报错!!
3.4 默认是double类型,所以损失精度
应该:
float a = 3.4f;
数据可以自动从低精度转到高精度
但是反之 则要进行强制类型转换
强制类型转换,只会截断,不会四舍五入。
int a = 1;
int b = a + 3.4;
//此处,a+3.4 先转化成高精度的double,再赋值给int类型,还是会报错