Java中的数据类型
Java中的数据类型
一、基本数据类型
1.基本数据类型
即int、char、float、double、byte、short、long、boolean这样的数值类型,共8种。
数据类型 |
位数 |
取值范围 |
说明 |
byte |
8 |
-128~127 |
数据存储在内存中的最原始形态 |
Short |
16 |
-32768~32767 |
|
int |
32 |
-2^31~2^31-1 |
|
long |
64 |
-2^63~2^63-1 |
|
float |
32 |
略 |
|
double |
64 |
略 |
|
char |
16 |
‘\u0000’~‘\uFFFF’ |
|
boolean |
1 |
true/false |
|
|
|
|
|
2.基本数据类型的转换
(1)自动类型转换也称作隐式类型转换;
将一种类型的变量赋值给另一种类型的变量时,只要满足以下条件,就会发生自动类型转换:
两种类型之间相互兼容;
目标类型大于源类型(即类型提升)。
如:
char ch = 'A';
int num = ch;
float f = num;
double d = f;
//类型转换自动发生,无需显式说明
(2)强制转换类型
强制类型转换也称作显式类型转换;
如果被转换的值的数据类型大于其目标类型,将会丢失部分信息;
如:
int x = 65;
char ch = x;
这样的语句将报错,因为char类型精度低于int类型,编译器无法将其自动转换,只能进行强制转换:
int x = 65;
char ch = (char)x;
二、引用类型
1.引用类型数据定义
除了基本数据类型之外都是引用类型
包括API中的类,比如String、File
也包括自定义的类,如PersonalAccount,CreditAccount
包括数组,如int[],String[]。
2.引用类型使用的场景
作为属性的类型使用;
作为方法的返回值类型使用;
作为方法的形式参数类型使用;
3.引用数据类型的赋值
引用类型都是对象,所以赋值都使用new调用构造方法进行赋值。
例外:String类可以直接使用=赋值,不使用new。
三、基本类型和引用类型的区别
|
基本数据类型 |
引用数据类型 |
概念 |
变量(单纯的值) |
对象(引用) |
存储位置 |
在栈中存值 |
在栈中存引用,在堆中存具体对象的属性值 |
赋值方式 |
直接赋值 |
new ,String类和包装器类可以直接赋值 |