数据类型分为基础数据类型和引用数据类型,引用数据类型包括数组和类。

基本数据类型

数据类型 位数 最小值 最大值 默认值 用途
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.存储位置

基本数据类型

在方法中定义的非全局基本数据变量的具体内容是存储在栈中的。

引用数据类型

只要是引用数据类型,其具体内容都是存放在堆中的,而栈中存放的是其具体内容所在内存的地址。

  1. public class Main{
  2. public static void main(String[] args){
  3. //基本数据类型
  4. int i=1;
  5. double d=1.2;
  6. //引用数据类型
  7. String str="helloworld";
  8. }
  9. }

2.传递方式

基本变量类型

在方法中定义的非全局基本数据类型变量,调用方法时作为参数是按数值传递的

引用变量类型

引用数据类型变量,调用方法时作为参数是按引用传递的,传递的是引用的副本。