一, 数组的概述
1,数组的理解:
数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
2,数组相关的概念
- 数组名
- 元素
- 角标,下标,索引
- 数组的长度:元素的个数
3,数组的特点
- 数组是有序排列的 数组属于引用数据类型的变量。
- 数组元素,既可以是基本数据类型,也可以是引用数据类型
- 创建数组对象会在存中开辟一整块连续的空间
- 数组长度一旦确定,就不能修改
4,数组的分类:
- 按照维数:一维数组,二维数组。。。。。
- 按照元素的的类型:基本数据类型元素的数组,引用数据类型元素的数组
5,一维数组的使用
a,变量初试化定义
//变量的声明和初始化
int num;//声明
num=10;//初始化
int id =1001;//声明加初始化
一维数组的声明初始化两种办法
int[]ids;//声明
//1.1静态初始化:数组初始化和数组的赋值操作同时进行
ids=new int[]{1001,1002,1003,1004};
//1.2动态初始化:数组初始化和数组的赋值操作分开进行
String[] names=new String[5];
一维数组声明常见的几种错误
int[] arr1=new int[]#未初始化数组
int[5] arr2=new int[5]
int[] arr3=new int[4]{1001,1002,1003,1004}
总结:数组一旦初始化完成,其长度就确定了
b, 如何调用一维数组指定位置的元素
//通过角标的方式调用
//数组的角标(或索引)从0开始,到数组的长度-1
names[0]="张三"
names[1]="张三1"
names[2]="张三2"
names[3]="张三3"
names[4]="张三4"
//错误:数组越界
names[5]="张三5"
c,一维数组的属性:长度(length)
System.out.println(names.length);//5
d,一维数组遍历方法
for(int i=0;i<names.length;i++){
System.out.println(names[i]);
}
e,一维数组元素的默认初始化值
数组元素是整型:0
数组元素是浮点型:0.0
数组元素是char型:0或'\u0000',而非'0'
数组元素是boolean型:false
数组元素是引用数据类型:null
public class ArrayTest1 {
public static void main(String[] args) {
//数组元素的默认初始化值
int[]arr=new int[4];
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
System.out.println("*******************");
short[]arr1=new short[4];
for(int i=0;i<arr1.length;i++){
System.out.println(arr1[i]);
}
System.out.println("*******************");
float[]arr2=new float[4];
for(int i=0;i<arr2.length;i++){
System.out.println(arr2[i]);
}
System.out.println("*******************");
char[]arr3=new char[4];
for(int i=0;i<arr3.length;i++){
//不是真正的空格,空格有assci码值
System.out.println("-----"+arr3[i]+"*******");
}
//说明数组元素是char:0或'\u0000'
if (arr3[0]==0){
System.out.println("你好");
}
System.out.println("*******************");
boolean []arr4=new boolean[4];
System.out.println(arr4[0]);
System.out.println("***********");
String[] arr5= new String[5];
System.out.println(arr5[0]);
System.out.println("***********");
//说明数组元素是引用数据类型:null(空值)
if(arr5[0]==null){
System.out.println("hello");
}
}
}
f,一维数组的内存解析
int [] arr=new int[]{1,2,3}
String [] arr1=new String [4]
arr1[1]="刘德华"
arr1[2]="张学友"
arr1=new String[3]
System.out.println(arr1);
上述代码一维数组操作内存解析