数据类型
数据类型有什么用?
数据类型用来声明变量,程序在运行过程中根据不同的数据类型分配不同大小的空间
int i = 10;
double d 1.23;
i变量和d变量类型不同,空间大小不同
数据类型在Java语言中包括两种
第一种:基本数据类型
基本数据类型又可以划分为4大类8小种:
第一类:整数型
byte,short,int,long
第二类:浮点型
float,double
第三类:布尔型
boolean
第四类:字符型
char
8小种:
byte,short,int,long
float,double
boolean
char
第二种:引用数据类型
字符串型String属于引用数据类型
String字符串不属于基本数据类型范畴
Java中除了基本数据类型之外,剩下的都是引用数据类型
引用数据类型后期面向对象的时候才会接触
关于二进制?
二进制???
1 2 3 4 5 6 7
1 10 11 100 101 110 111 …
十 进制转成二进制
125转换成二进制???
办法:出以2,然后余数逆序输出。
1111101
二进制转换成十进制
1 0 1
2的2次方*1 2的1次方*0 2的0次方*1
byte类型的取值范围?
byte是[-128~127]共可以表示256个数字
byte类型的最大值是怎么计算出来的?
byte是1个字节,8个比特位,所以byte可以存储的最大值是:
01111111
注意在计算机中一个二进制位最左边的是符号位,当为0时表示正数,
当为1时表示负数所以byte类型最大值是:01111111
那么是不是2的7次方-1呢?
基本数据类型转换的时候需要遵循哪些规则?
第一条:八种基本数据类型中,除boolean类型不能转换,剩下七种类型之间都可以进行转换;
第二条:如果整数型字面量没有超出 byte , short , char 的取值范围,可以直接将其赋值给 byte ,
short , char 类型的变量;
第三条:小容量向大容量转换称为自动类型转换,容量从小到大的排序为:
byte < short (char) < int < long <float < double ,其中 short 和 char
都占用两个字节,但是 char 可以表示更大的正整数;
第四条:大容量转换成小容量,称为强制类型转换,编写时必须添加“强制类型转换符”,
但运行时可能出现精度损失,谨慎使用;
第五条:byte , short , char 类型混合运算时,先各自转换成 int 类型再做运算;
第六条:多种数据类型混合运算,各自先转换成容量最大的那一种再做运算。
所有的笔试题都超不过以上的六条规则。死记硬背。
-
boolean不能参与类型转换,其他都行。
-
没有超出byte、short、char的范围,整数可以直接赋值
-
自动类型转换 小---------》大
byte < short(char) < int < long < float < double
-
强制类型转换 大------------》小 需要加强制类型转换符
-
byte、short、char混合运算,先各自转换成int,再做运算
-
多种数据类型混合运算的时候,各自先转换成容量最大的那一种再做运算