十一、数组

本文详细介绍了Java中的数组,包括数组的定义、静态与动态初始化方式,以及增强for循环的使用。强调了数组作为引用类型的特性,讨论了如何切断引用以及数组长度的不可变性。此外,还深入探讨了二维数组的概念及遍历方法。
摘要由CSDN通过智能技术生成

1.什么是数组

数组是一种常用的数据结构,可以存储多个数据,通常用数据下标来定位数据,修改数据,取出数据,数组要求同个数组数据类型要相同。

数组的定义:

推荐使用 int [ ] arr; 不推荐使用 int arr [ ]; 这来个表达书只是定义了一个叫arr数组,因为数组是引用类型,这个时候只是定义了一个引用变量而已,还没有具体指向那一块内存,这时候数组还不能使用。

数组的初始化:

静态初始化:静态初始化就是在定义数组的时候直接给它赋值

   int [] arr = new int[]{1,2,3,4,5};
        for (int i : arr) {
            System.out.println(i);
        }

静态初始化简写方式:

 int [] arr = {1,2,3,4,5};

数组下标是从0开始

   

 动态初始化

动态初始化是定义好数组后,对其进行初始化并分配初始化空间,但不对其赋值。

int[] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;

初始化数组之后数组长度不可以改变

增强for循环的介绍

 int [] arr = new int[]{1,2,3,4,5};
        for (int i : arr) {
            System.out.println(i);
        }

增强for循环是Java5之后增加的,上面的for循环是把arr内的元素拿出来赋值给i,我们就可以拿出来使用,增强for循环只可以遍历,不可以对数组赋值。

int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
    arr[i] = arr[i] + 1;
}
//普通for循环值改变了
  for (int i : arr) {
            i = i + 1;
  }
 for (int i : arr) {
      System.out.println(i);
  }//arr数组内的值并没改变

增强for循环上面的i是系统给的临时变量只是接收了数组的参数,并不会对原始数组的内容做出改变。

2.深入了解数组

 数组是一种引用类型,变量只是一个引用,元素和变量在内存中是分开放的。

如果没有栈内存指向堆内存的时候,我们永远无法访问到数组对象,java垃圾回收器会自动把这些数据回收掉,对于引用数据类型其实都是这样的。

如何切断栈内存指向堆内存中的引用:

arr = null;

只要我们把其设置为null就行了,null什么意思,null的意思是一个空的对象。所有的引用类行对象都可以用null赋值,但是基础数据类型不可以。

3,多维数组

多维数组其实就是数组元素指向数组内存的地址

 声明一个二维数组

      String [][] str = { {"小张","小李"},{"小青","小郑"} };

 增强for循环的简历

        for (int i = 0; i < str.length; i++) {
            for (int j = 0; j < str[i].length; j++) {
                System.out.println(str[i][j]);
            }
        }
        //增强fot循环遍历
        for (String[] strings : str) {
            for (String string : strings) {
                System.out.println(string);
            }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值