Java关键字之—基本数据类型
byte、shout、int、long、float、double、boolean、char
关键字 byte、shout、int、long、float、double基本数据类型中的数值型,且在保存数据时第一个bit要作为符号位进行整形符号的保存,0为正数,1为负数。
byte(字节)
在计算机存储中以字节为单位,8位比特(bit)组成一个字节
byte是由8位bit组成,每个bit只能是0或1,所以byte一共有2的8次方种可能,也就是256个,存放的数据范围是-128~127之间。(应为第一个bit要作为符号位进行整形符号的保存,0为正数,1为负数)
封装器类为Byte
short(短整形)
short占2个字节,也就是14个比特(bit),最大数据存储量是65536,数据范围是-32768~32767之间。
封装器类为Short
int(整形)
int也是最长用的整形,占4个字节,也就是32个比特(bit)
在数学中就是我们常说的整数(-2、-1、0 、1、2…)这些数。最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
封装器类为Integer
long(长整形)
long为基本数据中保存数据最长的整数类型,占8个字节,也就是64个比特(bit)。且最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
封装器类为Long
浮点型也就是我们常说的小数,可以理解为浮点数就是小数
float(浮点型)
float为浮点型。占4字节,32个比特(bit),数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
封装类型为Float
double(浮点型)
double为浮点型。占8字节,64位比特(bit),数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。(大多情况下不加)
封装类型为Double
char(字符型)
char为浮点型,占2字节,16位比特,存储Unicode码,用单引号赋值。(‘a’,‘s’)
封装类型为Character
boolean(布尔型)
boolean为布尔型,只有true和false两个取值,一般作为if等判断时,或者作为标签使用,也可以作为返回这使用。
封装类型为Boolean
基本数据类型的转换
基本数据类型的转换默认情况是从大到小的
byte < short < char < int < long < float < double
容量小的可以默认转换为容量大的转换
是不会对数据大小进行改变的
public class Demo {public static void main(String[] args) {short x = 123;long y = x;System.out.println(y);byte m = 12;double n = m;System.out.println(n);}
}
输出结果为
当容量大的向容量小的转换时,就是强制类型转换
则就会造成:数据溢出、精度损失 这两个问题
public class Demo {public static void main(String[] args) {int x = 258;byte y = (byte) x; //byte的范围是在257之下的是11111111//int在257之下就不会造成数据溢出的问题System.out.println(y);float m = 23.5F;long n = (long) m;System.out.println(n);//long是属于整形,float是属于浮点型,在浮点型向整形转换下就//会造成精度的损失,把小数点之后的数据直接砍掉}
}
输出结果为
数值类型
在计算机中数值一般都有二进制,八进制,十进制,十六进制,在有的时候也是需要注意的。
public class Demo {public static void main(String[] args) {//表示二进制时,在数据前面加上0bint a = 0b11;System.out.println(a);//表示八进制时,在数据前面加上0int b = 011;System.out.println(b);//表示十六进制时,在数据前面加上0xint c = 0x11;System.out.println(c);}
}
还有注意一点,在浮点型中的float中,给float型赋值,应该这样写
float d = 23.32f; //结尾应该用f/F表示,因为23.32输入进后默认为了double型,f是强制转换为float型