Java 基础知识之数组
⭐️大一小何,还在学习当中,欢迎交流指正~
⭐️冲冲冲!
目录
一,数组的相关知识
数组的相关概念:
特点:
数组的分类:
数组的初始化:
两种常见的初始化方式:
动态初始化数组的格式:
静态初始化数组的格式:
二,一维数组
1.一维数组的声明和初始化
2,调用数组中的元素
3,数组元素的默认初始值
三,二维数组
1,理解
2,二维数组的声明和初始化
3,获取数组的长度
4,遍历二维数组
5,数组元素的默认初始化
一,数组的相关知识
数组的相关概念:
1,数组名
2,元素
3,角标( 又叫下标或索引)
4,数组的长度:元素的个数
特点:
1,数组是有序排列的
2,数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型;
3,创建数组对象会在内存中开辟一块连续的空间
4,数组的长度一旦确定,就不能修改,
数组的分类:
1,按照维数:一维数组,二维数组,多维数组
2,按照数组元素的类型:基本数据类型的数组,引用数据类型的数组;
数组的初始化:
在内存当中创建一个数组,并且向其中赋予一些默认值。
两种常见的初始化方式:
1. 动态初始化(指定长度)
2. 静态初始化(指定内容)
动态初始化数组的格式:
数据类型[] 数组名称 = new 数据类型[数组长度];
静态初始化数组的格式:
数据类型[] 数组名称 = {元素 1,元素 2}
。
二,一维数组
1.一维数组的声明和初始化
有以下两种方法:
int[] arry1;//声明
arry1 = new int[]{1,2,3,4};//静态初始化:数组的初始化和数组元素的赋值操作同时进行
String[] names = new String[5];//动态初始化:数组的初始化和数组元素的赋值操作分开进行
下面举一些常见的错误写法:
int[] arry1 = new int[];//错误
int[5] arry2 = new int[5];//错误
int[] arry3 = new int[3]{1,2,3};//错误
注意:数组一旦初始化完成,其长度就确定了。
2,调用数组中的元素
通过角标的方式调用
注意:数组的角标(或索引)从 0 开始,到数组的长度-1 结束。
3,数组元素的默认初始值
3.1 数组的元素是 int 型:0;
3.2 数组的元素是 float/double 型:0。0;
3.3 数组的元素是 char 型:0 或 ' \u0000 ' ,而非' 0 ';
3.4 数组的元素是 boolean 型:false;
特别的,数组元素是引用数据类型:null;
三,二维数组
1,理解
对于二维数组的理解,我们可以看作是一种一维数组 arry1 又作为另一个一维数组 arry2 的元素而存在的,其实,从数组底层的运行机制来看,其实没有多维数组。
2,二维数组的声明和初始化
正确的写法
int[][] arry1 = new int[]{{1,2,3},{4,5,6},{7,8,9}};//静态初始化
String[][] arry2 = new String[3][2];//动态初始化 1
String[][] arry2 = new String[3][]; //动态初始化 2
int arry3[][] = new int[][]{{1,2,3},{4,5},{6,7,8}};//这是正确的写法!
int[] arry3[] = new int[][]{{1,2,3},{4,5},{6,7,8}};//这是正确的写法!
int[] arry3[] = {{1,2,3},{4,5},{6,7,8}};//这是正确的写法!
以下是常见的错误写法;
String[][] arry4 = new String[][4];//错误!
String[4][3] arry5 = new String[][];//错误!
int[][] arry6 = new int[4][3]{{1,2,3},{4,5,},{6,7,8}};//错误!
3,获取数组的长度
如以下代码是对上面的数组求取长度;
System.out.println(arry3.length);//3
System.out.println(arry3[1].length);//2
4,遍历二维数组
for(int i = 0;i < arry.length;i++)
{
for(int j=0;j < arry[i].length;j++)
{
System.out.println(arry[i][j] + " ");//依次输出数组中的元素
}
System.out.println();//换行
}
5,数组元素的默认初始化
针对于初始化方式一 :
比如:int[][] arry = new int [4][3];
外层元素的初始化值为 :地址值;
内层元素的初始化值为:与一维数组的初始化情况相同
即
数组的元素是 int 型:0;
数组的元素是 float/double 型:0。0;
数组的元素是 char 型:0 或 ' \u0000 ' ,而非' 0 ';
数组的元素是 boolean 型:false;
如 以下这种情况 :
针对初始化方式二:
比如 :int[][] arry = new int int[4][];
外层元素的初始化值为 :null;
内层元素的初始化值为:不能调用,否则会报错;
如以下情况
以上为创建一个数组在默认情况和赋值情况下内存堆和内存栈在运行情况
一起加油哦!!!
版权声明: 本文为 InfoQ 作者【喜羊羊】的原创文章。
原文链接:【http://xie.infoq.cn/article/e6bdf255a5c7f5666e8337e37】。文章转载请联系作者。
评论