1,认识数组
数组就是一个容器,用来存一批同种类型的数据
2,数组的定义和访问
1,静态初始化数组
定义数组的时候直接给数组赋值
完整格式:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2 ,元素3… };
int[] ages = new int[]
简化格式:
数据类型[] 数组名 = { 元素1,元素2 ,元素3,… };
int[] ages = {12, 24, 36};
基本的数据类型中有一个特例: java的输出语句给字符数组开了一个后门,直接打印字符数组的时候,java会自动将内容展示出来,看到的不是地址值;示例如下:
public static void main(String[] args) {
int[] arr = {1, 2, 3};
System.out.println(arr); // [I@776ec8df
char[] arr1 = {'1', '2', '3'};
System.out.println(arr1); // 123
}
// 除了char类型会做自动拼接,其他都是直接返回地址
数组的访问:
数组名[索引]
—> arr[0]
数组的长度属性:length
—– arr.length
数组的遍历
正序遍历: 快捷方式可以使用 数组名.fori
倒叙遍历: 快捷方式可使用 数组名.forr
2,数组的动态初始化
定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组的长度
格式:
数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[3];
动态初始化数组元素默认值规则:
数据类型 | 明细 | 默认值 |
---|---|---|
基本数据类型 | byte、short、char、int、long | 0 |
基本数据类型 | float , double | 0.0 |
基本数据类型 | boolean | false |
引用类型 | 类,接口,数组,String | null |
3,数组在计算机中的执行原理
int[] arr = {1,2,3,4,5} 这里系统会帮我们开辟空间,即虚拟机帮我们new
栈:正在执行的方法
堆:所有的引用数据类型(new 出来的数据)
方法区:所有的方法和字节码文件初始进入的位置
多个变量指向同一个数组
public class ArrayDemo2{
public static void main(String[] args) {
int[] arr1 = {11, 22, 33};
int[] arr2 = arr1;
System.out.println(arr1);
System.out.println(arr2);
arr2[1] = 99;
System.out.println(arr1[1]);
}
}
在内存中分布如下:
如果某个数组变量存储的地址是null,那么该变量将不再指向任何数组对象
标签:arr,04,int,数据类型,数组名,数组,new,打卡 From: https://www.cnblogs.com/yfs1024/p/17114713.html