目录
数组
数组定义与初始化
数组是引用数据类型。数组中的数据可以是基本数据类型也可以是引用数据类型(取决于是一个什么类型的数组)
数组一旦初始化完成数组的长度不可变。
//1.声明数组
//格式: 数据类型[] 数组名;
// 数据类型 数组名[];
int[] scores;//数组中的元素是int类型 -- 建议使用此写法
String names[];//数组中的元素是String类型。
//2.静态初始化:用静态数据(编译时可以确定)对数组进行初始化。静态数据的个数就是数组的长度。
//方式一:数组的声明和初始化可以分开写。
scores = new int[]{5,2,4,1,9};//每个元素之间用逗号分隔开。该数组的长度为5
names = new String[]{"小龙哥","小饭老师","小泽老师"};//该数组的长度为3
//方式二 : 数组的声明和初始化不能分开。
int[] ids = {1,6,3,9,10};//可以理解成是方式一的简写
动态初始化数组
//动态初始化:通过指定数组的长度初始化数组但是数组中只有默认值。初始化完成后再给数组中的元素进行赋值。
names = new String[3];//3指的是数组的长度。数组中现在只有默认值。
数组中元素的默认值
数组中元素的默认值:
基本数据类型:
整型默认值:0
浮点型默认值:0.0
布尔类型默认值: false
字符类型默认值: \u0000(\unicode0000,0000号符所代表的符号)
引用数据类型:null
//整型默认值:0
byte[] n1 = new byte[2];
short[] n2 = new short[2];
int[] n3 = new int[2];
long[] n4 = new long[2];
System.out.println(n1[0] + " " + n2[0] + " " + n3[0] + " " + n4[0]);
//浮点型默认值:0.0
float[] f1 = new float[2];
double[] d1 = new double[2];
System.out.println(f1[0] + " " + d1[0]);
//布尔类型默认值: false
boolean[] bo = new boolean[2];
System.out.println(bo[0]);
//字符类型默认值: \u0000
char[] c = new char[2];
System.out.println("-" + c[0] + "-");
String[] s = new String[2];
System.out.println(s[0]);
数组长度
获取数组的长度 : 数组名.length
int len = names.length;//数组的长度(数组的个数)
遍历数组
遍历数组中所有的元素
int[] sid = {10,5,3,8,10,9};
for (int i = 0; i < sid.length; i++) {//在这i的值当成索引值。索引是从0开始。
System.out.println(sid[i]);
}
idea遍历数组快捷键:数组名.fori
索引值超过合理范围报错
//注意:一旦索引值不在合理范围内(0 到 数组的长度-1)就会报错。 //ArrayIndexOutOfBoundsException : 下角标越界
数组内存
如果:
int[] arr =new int [3];
int[] arr2 = arr;
arr2储存的是和arr一样的内存地址指向内存相同的位置,更改同步