java语言基础知识---数组Array

一、数组的概念
1.数组(Array),多个相同类型的数据按照一定的顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理

2.数组相关概念:
2.1数组名
2.2元素
2.3角标、下标、索引
2.4数组的长度:元素的个数

3.数组的特点:
3.1数组是有序排列的
3.2数组属于引用数组类型的变量。数组的元素,既可以是基本数据类型也可以是引用数据类型
3.3创建数组对象会在内存中开辟一整块连续的空间
3.4数组的长度一单确定,就不能更改

4.数组的分类:
4.1按照维数:一维数组、二维数组……
4.2按照数组元素的类型:基本数据类型元素的数组,引用数据类型元素的数组

5.一维数组的使用:
5.1一维数组的声明和初始化
5.2如何调用数组的指定位置的元素
5.3如何获取数组的长度
5.4如何遍历数组
5.5数组元素的默认初始化值
5.5.1整型数组默认值为:0
浮点型数组默认值为:0.0
char型数组默认值为:0或’\u0000’,而不是’0’;
5.5.4 boolean类型数组默认值为false;
5.5.5 引用数组类型数组的默认值为null;
5.6数组的内存解析

//1.一维数组的声明和初始化
//1.1静态初始化;
int[] ids = new int[]{12,14,54,23};//声明和初始化;
//1.2动态初始化;
String[] names = new String[5];
//总结:数组的初始化完成,那么他的长度也就确定了;

//2.如何调用数组的指定位置的元素;
//数组的角标/索引是从0开始计算的
names[0] = "张三";
names[1] = "李四";
names[2] = "王麻子";
names[3] = "刘铁盖";
names[4] = "赵五";

//3.如何获取数组的长度;
//获取角标/索引是用的属性:length
int num = names.length;
System.out.println(num);//5

4.如何遍历数组
for(int i = 0;i < names.length; i++){
System.out.println(names[i]);//
}

5.数组元素的默认初始化值
5.1整型数组默认值为:0
5.2浮点型数组默认值为:0.0
5.3char型数组默认值为:0或'\u0000',而不是'0';
5.4boolean类型数组默认值为false
5.5 引用数组类型数组的默认值为null
int[] ids = new int[4]{};
for(int i = 0;i < ids .length; i++){
	System.out.println(ids [i]);//默认值为0;
}


5.6数组的内存解析
在这里插入图片描述

二、二维数组的使用
1.理解:
可以看做是一个一维数组array1又最为另一个一维数组array2的元素存在;
二位数组分为外层数组的元素,内层数组的元素
int[][] arr = new int[4][3];
外层元素:arr[0],arr[1]……
内层元素:arr[0][0],arr[1][1]……

2.二维数组的使用:
2.1二维数组的声明和初始化
2.2如何调用数组的指定位置的元素
2.3如何获取数组的长度
2.4如何遍历数组
2.5数组元素的默认初始化值
初始化方式一:int[][] arr = new int[4][3];
外层元素的初始化值为:地址值
内层元素的初始化值为:与一维数组初始化情况相同

初始化方式二:int[][] arr = new int[4][];
外层元素的初始化值为:null
内层元素的初始化值为:不能调用,否则报空指针

2.6数组的内存解析

1.二维数组的声明和初始化
int[] arr = new int[]{};//一维数组
//静态初始化
int[][] arr1 = new int[][]{{1,2,3,},{4,6},{5,7,9}};
//动态初始化1
int[][] arr2 = new int[3][2];
//动态初始化2
int[][] arr2 = new int[3][];

//其他正确写法:(都是二维数组)
int arr3[][] = new int[][]{{1,2,3,},{4,6},{5,7,9}};
int[] arr4[] = new int[][]{{1,2,3,},{4,6},{5,7,9}};

//2如何调用数组的指定位置的元素
System.out.println(arr1[0][1]);//2;
System.out.println(arr2[1][1]);//null;
System.out.println(arr3[1][0]);//报空指针;

//3.获取数组的长度
System.out.println(arr4.length);//3
System.out.println(arr4[0].length);//3

//4.如何遍历二维数组
for(int i = 0;i < arr4.length; i++){
	for(int j = 0;j< arr4[i].length; j++){
		System.out.println(arr4[i][j]);//

	}
}
//5.二维数组元素的默认初始化值
int[][] arr = new int[4][3];
System.out.println(arr);//[I@6d06d69c
System.out.println(arr[0]);//[I@15db9742
System.out.println(arr[0][0]);//0

float[][] arr1 = new float[4][3];
System.out.println(arr1[0]);//地址值
System.out.println(arr4[0][0]);//0.0

String[][] arr1 = new String[4][2];
System.out.println(arr2[1]);//地址值
System.out.println(arr4[1][1]);//null





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值