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;

内层元素的初始化值为:不能调用,否则会报错;

如以下情况 

 以上为创建一个数组在默认情况和赋值情况下内存堆和内存栈在运行情况

 

 

 一起加油哦!!!

评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超级小何

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值