变量是在一个范围内的可变的值。
要点:
数据类型(确定变量的值的类型)
一个字节里面8个位,每个位里存储0101这样的二进制的补码表示用来数据,一个字节的数据类型的第一个位是符号位,表示正负。
数据类型 byte short int long float double char boolean
字节数 1 2 4 8 4 8 2 1
在计算机内存储的是数据的补码形式,第1位是符号位,负数的补码等于它的反码+1,所以范围分别是:
-2^8~2^7-1 ...................
关于精度:
什么精度?
使用补码的时候,第一个字节的第一个位表示的是符号位,代表正负,这个可能就表示的是精度。所以,当将长的数据类型直接使用短的数据类型接受的话会报错,可能丢失精度,也就是前面的字节被抛弃了。
变量的运算:
同一数据类型进行操作,就是针对其补码的操作,当获取的补码位数超过原位数的时候,需要更改接受的数据类型,以报错得到的数据。
不同的数据类型进行运算,现将小的数据类型转化为大的数据类型,再使用大的数据类型进行操作。一般获取的值都是属于大的数据类型。这就是变量的隐式转换。
强制类型转换(大转小)
就是截取大的类型的后面几个字节让字节数等于小的字节数,这样就可以被小的范围接受了。
强制转换可能出现损失精度的问题。