变量在内存中的表示
一.分类
- 存储在栈上的变量
(1)基本类型变量—整形,浮点型,字符型
(2)引用类型变量—字符串型,抽象数据类型的 = 左侧的内容 - 存储在堆上的变量
(1)通过new生成的对象
(2)数组
二.表示
下面举个例子(在Car类基础上):
public class Car{
String num;
String color;
}
以下代码在main函数里:
int a = 0;
double b = 2.3;
Car c1 = new Car();
下面演示变量在内存中的分配:
int类型的a赋值为0;(局部变量必须赋值才能使用)
double类型的b,赋值为2.3;
Car类型的c1不存储Car本身,而是存储的地址,与堆中的实际存储区域关联。由于没赋值,采用默认值。
各种类型的默认初始值
变量类型 | 默认初始值 |
---|---|
整型 | 0 |
浮点型 | 0.0 |
字符型 | “” |
引用类型 | null |
可以发现: 初始值均与0相关