数据类型分为基础数据类型和引用数据类型,引用数据类型包括数组和类。
基本数据类型
数据类型 | 位数 | 最小值 | 最大值 | 默认值 | 用途 |
---|---|---|---|---|---|
byte | 8位 | -128(-2^7) | 127(2^7-1) | 0 | 比较小的整数 |
short | 16位 | -32768(-2^15) | 32767(2^15 - 1) | 0 | 小的整数 |
int | 32位 | -2,147,483,648(-2^31) | 2,147,483,647(2^31 - 1) | 0 | 正常的整数 |
long | 64位 | -9,223,372,036,854,775,808(-2^63) | 9,223,372,036,854,775,807(2^63 -1) | 0L | 比较大的整数 |
double | 双精度,64位 | 0.0d | 表示浮点数 | ||
float | 单精度,32位 | 0.0f | 表示浮点数 | ||
char | 16位Unicode字符 | \u0000(即为0) | \uffff(即为65,535) | 可以存储任何字符 | |
boolean | 一位的信息 | false | true | false | 记录 true/false |
引用数据类型
引用数据类型包括:类、接口类型、数组类型、枚举类型、注解类型、字符串型。
例如:String类型就是引用类型。
基本数据类型和引用数据类型的区别
1.存储位置
基本数据类型
引用数据类型
只要是引用数据类型,其具体内容都是存放在堆中的,而栈中存放的是其具体内容所在内存的地址。
public class Main{
public static void main(String[] args){
//基本数据类型
int i=1;
double d=1.2;
//引用数据类型
String str="helloworld";
}
}
2.传递方式
基本变量类型
在方法中定义的非全局基本数据类型变量,调用方法时作为参数是按数值传递的
引用变量类型
引用数据类型变量,调用方法时作为参数是按引用传递的,传递的是引用的副本。