Java017——引用数据类型《数组》的简单学习

围绕以下4点介绍:
1、什么是数组
2、数组的作用
3、数组的特点
4、数组的使用

一、什么是数组

  • 数组是有限相同类型的数据的有序集合;
  • 其中,每一个数据称作一个数组元素
  • 每个数组元素可以通过一个下标来访问它们.

二、数组的作用

用来存储固定大小同类型元素。

三、数组的特点

  • 长度确定。数组一旦被创建,它的大小就是不可以改变的。
  • 元素类型相同。不允许出现混合类型。
  • 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
  • 数组变量属于引用类型

四、一维数组的使用

4.1、声明数组变量

数组类型[] 数组名称; // 首选的方法

数组类型 数组名称[]; // 效果相同,但不是首选方法

1、实例1、声明不确定长度的数组

//声明一个String类型的一维数组myList
String[] myList;         // 首选的方法String myList[];         //  效果相同,但不是首选方法

在 Java 中,声明一个数组变量 String[] myList; 并不会分配实际的内存空间给数组。它只是创建了一个名为 myList 的变量来保存数组的引用(或者说,内存地址,但是这块地址是游离,不确定的)。此时,myList 的值为 null,表示它没有引用到任何有效的内存区域。

2、实例2、声明确定长度的数组

要实际分配内存空间来创建数组,你需要使用 new 关键字来为数组分配内存。
下面代码将为 myList 变量分配内存空间,容纳 5 个 String 类型的元素。此时,myList 引用的是一个具有 5 个元素的数组对象,每个元素的初始值为 null。

String arr[] = new String[5];//使用new关键字系统就会分配相应大小和数量的内存空间

这里分配了5个String类型的连续内存,并使用arr(数组名)指向这块连续的内存的首地址,即第一块内存的地址。
在这里插入图片描述

4.2、初始化数组

1、静态初始化:会初始化数组,同时初始化数组元素

//声明数组
String[] myList;
//静态初始化
myList = new String[]{"never","give","up"};
//或者
myList ={"never","give","up"};

2、动态初始化:会初始化数组,同时初始化数组元素,会给每一个元素初始化一个统一的默认值

格式:数组变量= new 数据类型 [ 数组大小 ];

//动态初始化
myList = new String[3];

3、默认初始化(动态初始化里面隐式包含默认初始化)
整型数组元素的默认初始化值:0
浮点型数组元素的默认初始化值:0.0
字符型数组元素的默认初始化值:0 (或理解为 '\u0000')
boolean型数组元素的默认初始化值: fase
引用数据类型数组元素的默认初始化值:null

例如
System.out.println("获取myList[0]:" + myList[0]);
//输出
null

4.3、数组元素的获取

数组元素的获取需要下表获取

格式:数组名[下标],(其中下表从0开始,最大为数组的长度减一)

 System.out.println("获取myList的第一个元素:" + myList[0]);
 //输出
 获取myList的第一个元素:never

4.4、数组长度的获取

格式:数组名.length

 System.out.println("数组myList的长度为:" + myList.length);
 //输出
 数组myList的长度为:3

4.5、数组的遍历

数组的遍历,即获取数组中每一个元素

//方式1:使用for循环
for (int i = 0; i < myList.length; i++) {
    System.out.println(myList[i] + " ");
}

//方式2:使用foreach(JDK 1.5 引进)
for (String value :myList) {
    System.out.println(value + " ");
}

//输出
never 
give 
up 

五、二维数组的使用

5.1、二维数组的声明

//声明一个String类型的二维数组myList
String[][] myList;

5.2、二维数组的初始化

1、实例1

//静态初始化二位数组myList
myList = new String[][]{{"when","it","has"},{"is","lost","brave"},{"to","give","up"}};

//动态初始化二维数组a
String a[][] = new String[2][4];//三行三列的数组

在这里插入图片描述
2、实例2

int [][]a = new int[2][];
a[0]=new int[2];
a[1]=new int[3];

上述代码创建了二维数组 a,但是只声明了 a 第一维的长度,也就是“行数”,第二维的长度也就是“列数”,则是为每一行单独声明的,因此创建的数组 a 是“不定长数组”,其内存分配下图所示。
在这里插入图片描述

5.3、二维数组的数组元素的获取

System.out.println(myList[0][0]);

///输出
when

5.4、二维数组的遍历

public class HelloWorld {
    public static void main(String[] args) {
        String[][] myList;
        myList = new String[][]{{"when","it","has"},{"is","lost","brave"},{"to","give","up"}};
        for (int i = 0; i < myList.length; i++) {
            for (int j = 0; j < myList[i].length; j++) {
                System.out.print(myList[i][j] + " ");
            }
        }
    }
}

//输出
when it has is lost brave to give up

(翻译:当失去的时候勇敢地放弃)

与君共享

👉👉👉👉👉最后,有兴趣的小伙伴可以点击下面链接,这里有我整理的完整Java学习博客内容,谢谢~ 🌹🌹🌹🌹🌹

《Java基础专栏完整学习》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值