1、基本类型:
byte 、short 、 int 、long 、char、 float、 double、 boolean
引用类型
数组 类 接口 枚举
2、数组:
一组相同类型的数据的集合。
可以理解为是:容器
格式:
动态声明:
元素类型[] 数组名 = new 元素类型[元素个数];
元素类型 数组名[] = new 元素类型[元素个数];
eg: int[] arr = new int[3]; 创建一个箱子,箱子里存放的数据为int类型,能存放3个int类型数据。
arr[2] = 100; 第三个元素存储100
System.out.println(arr[1]);
静态声明:
元素类型[] 数组名 = new 元素类型[]{元素1,元素2,元素3,.....};
元素类型[] 数组名 = {元素1,元素2,元素3,.....};
注意:简写格式不能分两行写,必须是一行完成
eg: int[] arr = {1,2,3,4,5};
int[] arr;
arr = {1,3,4}; //这种写法错误
数组属性:
.length : 获取数组长度
eg: arr.length :获取名为arr数组的元素个数
jdk5.0:
for-eache:增强for循环
作用:只能用来遍历,如果想要改变数组中的元素,只能用普通for循环。
for(元素类型 变量名 : 数组/集合){
}
内存分配:
寄存器,与cpu有关;
本地方法区,与操作系统方法有关
方法区:静态数据和class
栈:先进后出,方法都是在这执行
堆:
1.会分配内存地址值
2.在实体中会存放默认值
整数:0 浮点:0.0 布尔:false 字符:'\u0000'
引用类型:null
3.没有任何引用指向的实体,称为垃圾
垃圾回收机制会不定时启动处理垃圾。引用类型的变量进行传参,实际传递的是保存在变量中指向堆中空间的地址,这种传参情况叫做引用传递。
如果一个引用改变了空间中的值,对所有指向这个空间的引用都有影响。
基本类型的变量进行传参,实际传递的保存在变量中的常量值,这种情况叫做值传递
如果改变一个变量的值,对其他的变量没有影响。