一、数据类型
说到数据类型我们要知道有哪些数据类型。
看下面的脑图:
与C语言不同的是:java中没有无符号整形和有符号整形,还有不管是32位还是64位所占内存大小是不变的。
注意:char型它没有负数,两个字节所以是2^16-1
二、类型转换
类型转换又分为自动类型转换和强制类型转换,“大转小强制转,小转大自动转”。
整型默认情况下是int
浮点型默认情况下是double
注意事项:
注意事项:
1. 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型
public class Text {
public static void main(String[] args) {
int a=20;
double b=1.2;
b=a;//这里是大转小,不会报错
}
}
2. 如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失
a=b;//报错
a=(int)b;
就好比将装满大碗的水倒到小碗里一样,一定会有水溢出。
3. 将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查
eg:以int为例
程序会报错,因为一个整形最大为2,147,483,647=2^31-1,字面值常量超过了int的范围。
4. 强制类型转换不一定能成功,不相干的类型不能互相转换
例如:
int a=2;
boolean d=true;
d=(boolean) a;//报错,不能强制转换