java基础笔记(数组)

本文详细介绍了Java中的数组概念、特点、分类及基础操作,包括一维数组和二维数组的声明、初始化、元素访问、长度获取及遍历。此外,还讨论了数组的默认初始化值和内存解析。示例代码展示了如何在Java中操作一维和二维数组,包括静态和动态初始化,以及如何访问和修改数组元素。
摘要由CSDN通过智能技术生成
  1. 数组的概念:是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

  1. 数组的特点:

            (1)数组是有序排列的

            (2)数组属于引用数据类型的变量。数组的元素既可以是基本数据类型,也可以是引用数据类型。

            (3)创建数组对象会在内存中开辟一整块连续的空间。

            (4)数组的长度一旦确定,就不能修改。

  1. 数组的分类:

             (1)按照维数:一维数组,二维数组。。。。

             (2)按照数组元素的类型:基本数据类型元素的数组,引用数据类型元素的数组。

  1. 一维数组的基础操作:

            

package day20210805;

public class Array {

    public static void main(String[] args) {

        //1.1静态初始化:数组的初始化和数组元素的赋值操作同时进行

        int[] ids;//声明

        ids = new int[]{11,22,33,44};

        //1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行

        String[] names = new String[3];

        //2.如何调用数组的指定位置的元素:通过索引下标的方式调用(从0开始到数组长度减一)

        names[0] = "元";

        names[1] = "圆";

        names[2] = "荣";

        //3.如何获取数组长度:(names.length)

        //4.如何遍历数组

        for(int i =0;i<names.length;i++) {

            System.out.println(names[i]);

        }   

    }

}

  1. 数组的默认初始化值(没有赋值时):

                (1)数组元素是整型时默认初始化值为:0

                (2)------------浮点型----------------:0.0

                (3)------------char型----------------:0(ASCII值为0)(效果是一个空格但值就是0)或'\u0000',而非‘0’

                (4)------------boolean型------------:false

                (5)-------------引用数据类型---------:null

  1. 内存的简化结构:

            

  1. 一维数组的内存解析:(0x5566是数组的首地址值赋给数组名,数组名通过首地址值来找到数组)

            

  1. 二维数组的基本方法:

            

            

package day20210805;

//二维数组的理解:我们可以看成一个一维数组作为另一个一维数组的元素而存在,

//          其实从数组底层的运行机制来看,其实没有多为数组。

public class ArrayTest1 {

    public static void main(String[] args) {

        //1.二维数组的声明和初始化

        //1.1静态初始化

        int[][] arr1 = new int[][]  {{22,11,1},{44,22,11},{11,2}};

        //1.2动态初始化

        String[][] arr2= new String[3][4];

        String[][] arr3= new String[3][];

        

        //补充也可以这样写

        int[] arr4[] =new int[][]  {{22,11,1},{44,22,11},{11,2}};

        int arr5[][]  ={{22,11,1},{44,22,11},{11,2}};//类型判断(声明和初始化在同一行)

        //2.如何调用数组的指定位置的元素

        System.out.println(arr1[1][2]);//11

        System.out.println(arr2[1][1]);//null

        

        arr3[1]= new String []  {"ww","tt","ee"};//tt

        System.out.println(arr3[1][1]);

        

        //3.获取数组的长度

        System.out.println(arr4.length);//3

        System.out.println(arr4[2].length);//2

        

        //4.如何遍历二维数组

        for(int i=0;i<arr4.length;i++) {

            for(int j=0;j<arr4[i].length;j++) {

                System.out.print(arr4[i][j]+",");//22,11,1,44,22,11,11,2,

            }

        }

        

        //5.二维数组的默认值

        int [][] arr6=new int[4][3];

        System.out.println(arr6[0]);//[I@123a439b:--》'[' 表示一维数组,

                                                      //'I' 表示int型,@后面的16进制的数值表示地址值

        System.out.println(arr6[0][0]);//0

        double [][][] arr7= new double[3][4][3];

        System.out.println(arr7);//[[[D@7de26db8

        System.out.println(arr7[0]);//[[D@7de26db8

        

        float[][] arr8=new float[4][];

        System.out.println(arr8[1]);//null

//      System.out.println(arr8[1][0]);//报错,空指针异常

    }

}

  1. 二维数组的内存解析:

            

例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值