1.数据类型分类
基本类型:4类8种。
引用类型:类,接口,数组。
基本类型:
整数 占用字节 范围
byte 1 -128 ~ 127
short 2 -2^15 ~ 2^15 - 1
int 4 -2^31 ~ 2^31 - 1
long 8 -2^63 ~ 2^63 - 1
1k空间:
1k = 1024 byte
byte = 8bit
浮点数
float 4 -3.403E38 ~ 3.403E38
double 8 -1.798E308 ~ 1.798E308
字符
char 2
Java采用的是unicode编码。所以java中每一个字符占用两个字节。这样就可以存储一个汉字了。
布尔
boolean 1 true,false
注意:
A:默认整数是int类型
B:默认浮点数是double类型
C:如果要定义long类型的变量,建议加L或者l。建议加L。
D:如何要定义float类型的变量,必须加F或者f。建议加F。
2.类型转换
隐式转换:
从小到大。
byte,short,char -- int -- long -- float -- double
强制转换:(一般不建议做强制转换,这样会有数据的丢失)
从大到小。
格式:
目标数据类型 变量名 = (目标数据类型)(运算的结果)
3.字符串与字符的加法
字符做加法
其实是去找字符对应的数据值来做加法。
ASCII码表。
基本的字符和数据对应表。
'0' 48
'A' 65
'a' 97
字符串做加法
其实做的是字符串的拼接。
如果有字符串,结果肯定是字符串类型。
思考题:请看下面的程序那一行有问题,并说明为什么。
class DataTypeTest {
public static void main(String[] args) {
byte b1=3,b2=4,b3;
//可能损失精度
b3 = (byte)(b1 + b2);
System.out.println(b3);
byte b4 = 3 + 4;
System.out.println(b4);
}
注意:
变量相加:先提升类型,然后做运算。
常量相加:先做运算,如果在指定的范围内,就赋值成功,否则报错。